scrollView初始位置設定問題的解決方法

2021-06-19 16:48:32 字數 974 閱讀 4825

糾結了好幾個小時,終於解決,希望與我遇到同樣問題的同學們不要再重蹈覆轍了!

在網上搜尋了,很多資料,基本上都是說:「

本人在開發過程中發現,使用mscrollview.scrollto(x,y)方法,首次初始化時無效果,

改用 mscrollview.smoothscrollto(x,y)則成功了!

注意:mscrollview.scrollto(x,y)方法不太好用的原因是:據資料說scrollto方法設定滾動的位置,將會呼叫 onscrollchanged(int,int,int,int)方法,檢視被視為無效。」

以上可能都是抄襲乙個作者,注意上面的不是答案,mscrollview.scrollto(x,y)方法和mscrollview.smoothscrollto(x,y)基本上類似,只是效果上的不同。

下面的才是答案

問題在於必須在初始化完activity資料後,再呼叫scrollto(x,y)或smoothscrollto(x,y)才有效,也就是說不能在oncreate()方法裡直接呼叫mscrollview.scrollto(x,y)和mscrollview.smoothscrollto1、新建乙個handler

private handler mhandler = new handler() {};

2、新建乙個runnable

private runnable mrunnable  = new runnable()

};3、然後執行

mhandler.post(mrunnable);

這樣就可達到你要的效果,因為使用handler會自動的在初始化完activity資料後,執行操作

另外還可以直接在onresume()方法中,呼叫mscrollview.smoothscrollto(x,y);

scrollview監聽滑動位置

android監聽scrollview滑動到頂端和底部 packagecn.testscrollview importandroid.os.bundle importandroid.view.motionevent importandroid.view.view importandroid.view...

ScrollView起始位置不是最頂部

scrollview的頁面布局裡上面有上中下三個布局,最下面是個viewpager,執行起來viewpager的預設page頁填充了整個屏,也就是scrollview預設起始位置不是最頂部的情況,最後發現問題是因為scrollview內部巢狀的問題,只需要設定viewpager獲取焦點為false即...

ScrollView起始位置不再最頂端的解決方案

當scrollview中巢狀viewpager listview gridview,可能會出現scrollview預設顯示的位置不是在最頂端。產生問題的原因是 測試的焦點不在scrollview上 解決方案 讓scrollview得到焦點。viewpager.setfocusable false s...