您的位置:首页 > 其它

scrollView中嵌套gridView或者listView亦或者可扩展的view的情况

2015-11-02 14:33 423 查看
在开发中我们经常遇到scrollView中嵌套gridView或者listView亦或者可扩展的view的情况,前两者的嵌套会存在共存冲突问题,需要我们对GridView或者listView进行重写,重写其onMeasure()方法:

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}


以上是解决嵌套共存的冲突问题!

除了此问题,可能还会出现自动滚动问题,scrollView里面嵌套可扩展的view或gridView,因为内容变化,导致进入页面后自动滚动,而不是在顶部,如图:



而真正想要的效果则如下图:



解决办法如下:

<ScrollView
android:id="@+id/user_info_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/user_info_bottom_layout"
android:layout_alignParentTop="true"
android:fillViewport="true"
android:scrollbars="none" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical" >

</LinearLayout>
</ScrollView>


在scrollView子布局里面添加两个属性:

android:focusable="true"
android:focusableInTouchMode="true"


问题迎刃而解!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: