解决Android中ScrollView内的控件长度发生改变之后自动滚动的问题

当Android的ScrollView中的View内容从网络加载后改变长度,会导致ScrollView自动滚动。通过在LinearLayout中设置android:focusable="true"和android:focusableInTouchMode="true",可以避免这个问题,将焦点转移给LinearLayout。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

在ScrollView中一个View中的内容是需要从网络上获取的,获取到内容后填充进View中,此时ScrollView内部控件的长度会发生改变,导致ScrollView自动滚动。影响整体效果。


解决办法:

<ScrollView
        android:id="@+id/quote_colligate_scrollView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#F6F6F8" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" 
            android:focusable="true"
            android:focusableInTouchMode="true">
            
                 。。。。。。。
           
        </LinearLayout>
    </ScrollView>

如布局文件所示:在ScrollView下对应的LinearLayout中加入

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

 

将焦点给LinearLayout就不会因为内部控件的改变而导致ScrollView的滚动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值