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

 

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