溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android ScrollView顯示到底部或任意位置實現(xiàn)代碼

發(fā)布時間:2020-09-01 05:46:03 來源:腳本之家 閱讀:183 作者:lqh 欄目:移動開發(fā)

 Android ScrollView顯示到底部或任意位置

其實使ScrollView顯示底部并不難。它有自己的方法fullScroll():

    1、顯示頂部:

scrollView.fullScroll(ScrollView.FOCUS_UP); 

    2、顯示底部:

scrollView.fullScroll(ScrollView.FOCUS_DOWN); 

          但是,有一點一定需要注意。這個方法不能直接調用,因為在Android里面,他的很多函數(shù)都是基于消息隊列來實現(xiàn)的,也就是說fullScroll()這個方法在很大的幾率(這個幾率一般情況在99%以上了再見)上會執(zhí)行在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要顯示的位置,可以根據(jù)自己的需要來計算 
               int end = (ll.getMeasuredHeight() - sl.getHeight()) / 4; 
    if (end < 0) { 
      end = 0; 
    } 
    sl.scrollTo(0, end); 
  } 
}, 500);//延遲500ms啟動 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI