Android中ScrollView初始位置不在顶部问题
来源:互联网 发布:女程序员物品 编辑:程序博客网 时间:2024/05/18 06:30
转载请注明出处:blog.csdn.net/wll995806658
最近使用ScrollView的时候发现了一个小问题,如果ScrollView中包裹有ListView,RecyclerView,ExpandableListView等列表控件的时候,ScrollView的初始位置有时候会出现不在顶部的问题,出现这个问题的原因是这些列表控件会抢夺焦点,从而使ScrollView显示与预期不符。
解决办法:
1.如果ScrollView最顶端存在有其他控件,则手动设置这个控件获取焦点
view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.requestFocus();
2.对ScrollView进行设置,使它滑动到顶部
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_UP);
}
});
3.使列表类的控件失去焦点
listView.setFocusable(false);
4.手动设置ScrollView滑动到某位置
这里有两个方法:smoothScrollTo和scrollTo,smoothScrollTo滚动的时候是平缓的而不是立即滚动到某处。另外,smoothScrollTo()方法可以打断滑动动画
可以设置scrollTo(0,0)来使ScrollView滑动到最顶部。
如有错误,欢迎指出,感谢!
- Android中ScrollView初始位置不在顶部问题
- Android ScrollView初始位置不在顶部的解决方法
- ScrollView初始位置不在顶部问题解决
- Android:scrollview嵌套listview运行后显示的位置不在顶部而是中间问题
- ScrollView 不在顶部的问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而在顶部问题
- Android解决ScrollView嵌套ListView页面不在顶部的问题
- ScrollView中嵌套了Listview或者Gridview导致的界面加载起始位置不在顶部的问题
- Grid/ScrollView 回滚到顶部(初始位置)
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题 解决办法
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
- scrollview嵌套listview运行后最先显示出来的位置不在顶部而是下方问题
- 手势密码 图形解锁 实现
- DynamicTreeDemo
- jQuery实现CheckBox全选、全不选
- SHU OJ 420 购买装备(假装背包,其实贪心)
- C语言模拟实现strcpy、strncpy、strcmp、strcat、strstr
- Android中ScrollView初始位置不在顶部问题
- JSON传输图片帮助类
- 自定义Behavior(一)
- 设置环境变量的步骤
- VS 2015 更换exe的图标
- 关于在不完全遮挡activity的时候dialog的显示问题
- Java+Selenium3方法篇46-自定义类库解决元素同步问题
- IntelliJ IDEA 如何重命名变量、文件、文件夹。--(说高级点就是【重构】)
- qml颜色渐变