ScrollView创建后或者resume之后自动滑动,不在头部

应用场境:

Activity布局中有个ScrollView,ScrollView中有两个控件,widget1和widget2,打开或重复加载Activity时,ScrollView的滚动条停在控件widget2的位置,这样控件widget1就看不见了,要向上滑动下才看得到,这样用户体现很不好。

解决办法:

方法一:(注:此方法只对ScrollView中有单个控件时有用,如只有widget2)

使用ScrollView的方法:scrollView.smoothScrollTo(0, 0); 或 scrollView.scrollTo(int,int);

方法二:

一开始的时候让上面的控件获得焦点,这样滚动条就自然停在顶部了。

widget1.setFocusable(true);

widget1.setFocusableInTouchMode(true);

widget1.requestFocus();

经过本人亲自测试:
方法二有效, 方法一在有些特需场景下不适用(这时可采用paddingTop来解决, 因为ScrollView内含单个View也就不需要采用方法二多添加一个View来获取焦点)

转自luohai859

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值