您好,登錄后才能下訂單哦!
Android ScrollView顯示到底部或任意位置
其實使ScrollView顯示底部并不難。它有自己的方法fullScroll():
1、顯示頂部:
scrollView.fullScroll(ScrollView.FOCUS_UP);
2、顯示底部:
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
但是,有一點一定需要注意。這個方法不能直接調用,因為在Android里面,他的很多函數都是基于消息隊列來實現的,也就是說fullScroll()這個方法在很大的幾率(這個幾率一般情況在99%以上了再見)上會執行在ScrollView顯示之前。那么他就不起作用了。就會造成很常見的問題,顯示底部失敗。于是乎,就想到了讓這個方法延遲啟動,通過handler來啟動:
handler.post(new Runnable() { @Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN); } });
3、顯示任意位置scrollTo(),這個和上面說的一樣,一定要在addView完成,顯示以后調用才有效
/* *@params sl ScrollView * ll ScrollView包含的子View,我的是LinearLayout */ public void scrollToBottom(final View sl, final View ll) { Handler mHandler = new Handler(); mHandler.postDelayed(new Runnable() { public void run() { if (sl== null || ll == null) { return; } //end要顯示的位置,可以根據自己的需要來計算 int end = (ll.getMeasuredHeight() - sl.getHeight()) / 4; if (end < 0) { end = 0; } sl.scrollTo(0, end); } }, 500);//延遲500ms啟動
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。