解决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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章