糾結了好幾個小時,終於解決,希望與我遇到同樣問題的同學們不要再重蹈覆轍了!
在網上搜尋了,很多資料,基本上都是說:「
本人在開發過程中發現,使用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...