欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android ScrollView 下嵌套 ListView 或 GridView出现问题解决办法

程序员文章站 2022-10-10 12:02:28
android scrollview 下嵌套 listview 或 gridview出现问题解决办法 scrollview 下嵌套 listview 或 gridview...

android scrollview 下嵌套 listview 或 gridview出现问题解决办法

scrollview 下嵌套 listview 或 gridview 会发列表现数据只能显示一行。因为他们都是滚动结构,两个滚动条放到一起就会引起冲突。

解决此问题可以通过计算 listview 高度或重写 listview 的 onmeasure 方法来解决。下面介绍通过重写 onmeasure 方法来解决问题。

重写 onmeasure 方法如下:

public class scrolllistview extends listview {
 public scrolllistview(context context, attributeset attrs) {
  super(context, attrs);
 }
 
 @override
 public void onmeasure(int widthmeasurespec, int heightmeasurespec) {
  int mexpandspec = measurespec.makemeasurespec(integer.max_value >> 2,
           measurespec.at_most);
  super.onmeasure(widthmeasurespec, mexpandspec);
 }
}
public class scrollgridview extends gridview {
 public scrollgridview(context context, ttributeset attrs) {
  super(context, attrs);
 }
 
 @override
 protected void onmeasure(int widthmeasurespec, int heightmeasurespec) {
  int expandspec = measurespec.makemeasurespec(
            integer.max_value >> 2, measurespec.at_most);
  super.onmeasure(widthmeasurespec, expandspec);
 }
}

scrollview 需要注意的地方:

1、scrollview 只支持垂直滚动。

2、scrollview 只能添加一个子控件 。如果有多个子控件怎么办呢,直接在这些子控件外面再套一层 linearlayout 就 ok 了。

以上就是关于android 开发scrollview 嵌套出现问题的解决办法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!