欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年02月24日 15:44:04   投稿:lqh  
這篇文章主要介紹了 Android ScrollView顯示到底部或任意位置實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下

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

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

    1、顯示頂部:

scrollView.fullScroll(ScrollView.FOCUS_UP); 

    2、顯示底部:

scrollView.fullScroll(ScrollView.FOCUS_DOWN); 

          但是,有一點(diǎn)一定需要注意。這個(gè)方法不能直接調(diào)用,因?yàn)樵贏ndroid里面,他的很多函數(shù)都是基于消息隊(duì)列來(lái)實(shí)現(xiàn)的,也就是說(shuō)fullScroll()這個(gè)方法在很大的幾率(這個(gè)幾率一般情況在99%以上了再見(jiàn))上會(huì)執(zhí)行在ScrollView顯示之前。那么他就不起作用了。就會(huì)造成很常見(jiàn)的問(wèn)題,顯示底部失敗。于是乎,就想到了讓這個(gè)方法延遲啟動(dòng),通過(guò)handler來(lái)啟動(dòng):

handler.post(new Runnable() {  
  @Override  
  public void run() {  
   scrollView.fullScroll(ScrollView.FOCUS_DOWN);  
  }  
});  

      3、顯示任意位置scrollTo(),這個(gè)和上面說(shuō)的一樣,一定要在addView完成,顯示以后調(diào)用才有效

   /* 
   *@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ù)自己的需要來(lái)計(jì)算 
               int end = (ll.getMeasuredHeight() - sl.getHeight()) / 4; 
    if (end < 0) { 
      end = 0; 
    } 
    sl.scrollTo(0, end); 
  } 
}, 500);//延遲500ms啟動(dòng) 

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

相關(guān)文章

最新評(píng)論