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

来源:互联网 发布:pewin32什么软件 编辑:程序博客网 时间:2024/05/16 00:40

应用场境:

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
原创粉丝点击