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的情况的主要内容,如果未能解决你的问题,请参考以下文章

GridView嵌套在ScrollView里只有一行的问题

ScrollView嵌套ListViewGridView只显示一行,psts显示不出来

android中ScrollView嵌套ListView或GridView显示位置问题

ScrollView中嵌套GridView,ListView只显示一行的解决办法

android scrollview 嵌套 viewpager 嵌套 gridview 冲突问题

SCrollView嵌套GridView,ScrollView如何实现上啦加载下拉刷新???