应用场境:
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来获取焦点)