Android之如何解决ScrollView起始位置不是最顶部的解决办法

举报
chenyu 发表于 2021/07/27 01:36:08 2021/07/27
【摘要】 最近遇到了打开带有ScrollView的页面布局默认起始位置不是最顶部的情况,最后发现问题是因为ScrollView内部嵌套了listview,只需要设置listview获取焦点为false即可。 listview.setFocusable(false); 如果内部嵌套的是其它,也是同样的处理方法。 PS:网上还查到说可以设置myScrollView.smoothScr...

最近遇到了打开带有ScrollView的页面布局默认起始位置不是最顶部的情况,最后发现问题是因为ScrollView内部嵌套了listview,只需要设置listview获取焦点为false即可。

listview.setFocusable(false);

如果内部嵌套的是其它,也是同样的处理方法。

PS:网上还查到说可以设置myScrollView.smoothScrollTo(0,20);

 

 

解决办法:有人说使用方法:

mScrollView.smoothScrollTo(0, 0);
 

或者

mScrollView.scrollTo(0, 0);
 

但是经过我的测试使用,是不可以的。现有一个方法能解决:使用该布局最顶部的ScrollView中最顶部的那个控件View、layout都行,让后使用这几行代码使其获取焦点就行了;如下所示:

view.setFocusable(true);view.setFocusableInTouchMode(true);view.requestFocus();
 

 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/51131921

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。