乘月网
专注于移动互联网

解决ScrollView起始位置不是最顶部问题的3套方案


解决方法:

1. 在代码中获取该ScrollView的对象,然后加入如下代码:

        scrollview.setFocusableInTouchMode(true);
        scrollview.requestFocus();

下面的2和3方法是网上看到的,据说很有用,但是经本人测试均无效,也不能完全否定这两个方法,或许不适合我的代码环境,贴上。

2:如果嵌套了ListView,GridView 可以对获取焦点方面设置,在xml布局文件中对ListView或Gridview控件加入如下属性:

    android:focusable="false"
或在运行代码中加入如下代码:
    listView.setFocusable(false);

3:在运行代码中里面对scorllView进行设置:

scrollView.smoothScrollTo(0,0);

附加 —— > setFocusable()和setFocusableInTouchMode()的关系拓展:

  • setFocusable(true)只导致setFocusable(true)
  • setFocusableInTouchMode(true)导致setFocusable(true)和setFocusableInTouchMode(true)
  • setFocusableInTouchMode(false)只导致setFocusableInTouchMode(false)
  • setFocusable(false)导致setFocusable(false)和setFocusableInTouchMode(false)
赞(0) 打赏
未经允许不得转载:乘月网 » 解决ScrollView起始位置不是最顶部问题的3套方案

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专注于移动互联网

CSDNGithub

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏