在SrollView中嵌套GridView或ListView有冲突的解决办法

来源:互联网 发布:nginx html目录 编辑:程序博客网 时间:2024/04/27 15:37

在ScrollView中嵌套使用ListView,ListView只会显示一行到两行的数据。网上说两个布局不建议嵌套,可是我有这种用法 的需要,最近做一个电影详情界面,做一个button沉底的效果,除了button外其他所有的控件布局都套在一个ScrollView里,这样可以做到button不用翻到布局最后才能看到,永远浮在屏幕的下方。

解决办法

找了下网上的,有几个思路。
- 根据ListView子项重置其高度。
- 设置listview禁止滚动,从而避免了冲突
第一个思路找了下解决办法和代码,没有解决我的问题。
第二个思路,
首先自定义一个listview类NoScrollListview,在类里面写禁止滚动的方法

public class NoScrollListview extends ListView{          public NoScrollListview(Context context, AttributeSet attrs) {                  super(context, attrs);          }          /**          * 设置不滚动          */          public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)          {                  int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,                                  MeasureSpec.AT_MOST);                  super.onMeasure(widthMeasureSpec, expandSpec);          }  }  

然后在布局文件中用上就行了,记得加上包名

<com.example.unit_ui_test.NoScrollListview        android:id="@+id/comment_list"        android:layout_width="match_parent"        android:layout_height="wrap_content"       android:layout_alignLeft="@+id/imageView1"        android:layout_below="@+id/comment_label"        android:scrollbars="none" >        </com.example.unit_ui_test.NoScrollListview>

然后就OK 啦。
特别鸣谢:

http://blog.csdn.net/centralperk/article/details/22088499
http://blog.csdn.net/gaojinshan/article/details/17055511

0 0