scrollView中嵌套gridView或者listView亦或者可扩展的view的情况
Posted Flow_孙权
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrollView中嵌套gridView或者listView亦或者可扩展的view的情况相关的知识,希望对你有一定的参考价值。
在开发中我们经常遇到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"
问题迎刃而解!
以上是关于scrollView中嵌套gridView或者listView亦或者可扩展的view的情况的主要内容,如果未能解决你的问题,请参考以下文章
ScrollView嵌套ListViewGridView只显示一行,psts显示不出来
android中ScrollView嵌套ListView或GridView显示位置问题
ScrollView中嵌套GridView,ListView只显示一行的解决办法