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"

问题迎刃而解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值