本文主要是介绍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
这篇关于ScrollView创建后或者resume之后自动滑动,不在头部的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!