Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android復習之Scroller

Android復習之Scroller

編輯:關於Android編程

為什麼感覺現在CSDN的博客編輯器也有點叛逆呢,總是不聽話,看不到鼠標的位置,還有經常粘貼一些外面的文章進來的時候總是很難編輯。好了,不扯遠了,不管難不難都要寫吖。呵呵。   學習和使用Scroller是在很早之前了,那時候學習和使用她我只能說還處於模糊期,因為我當時是帶著神奇的眼光去審視這個類的,所以當時總無法理解。只是知道個大概的意思然後知道怎麼使用(糊塗的用),現在終於明白了(什麼也無法說明,只能說明我很笨,T_T),所以很想跟大家來解釋一下,一方面加深自己的理解,另一方面服務那些仍然無法理解她的大眾。   大家可以先看其他前輩的關於Scroller的文章,不管是API還是使用示例。       就不多推薦了,其他的大家可以Google或Baidu一下,很多,多看幾篇理論之後一定要親自動手去寫代碼實踐,更改寫參數然後運行看下效果,那樣最好了,能夠立刻明白是參數都是怎麼個意思。 現在來說下我自己的理解:   其實很簡單,Scroller就是一個“計算器”,是什麼計算器呢,她是幫我們計算從你給定的點(咱們編程說的點當然是坐標了哈)到你需要滾動到的目標點在給定時間內每次的偏移量,我舉個最簡單的例子,假如我們想從A(0, 0)點花100毫秒的時間移動到B(200,100)點,則Scroller會幫我們算好,之後的每1毫秒將在X方向上移動2個像素,Y方向上移動1個像素,當然正值或者負值代表的方向嘛,這裡不說了,大家直接運行,看看效果即可知道。我們只需要調用mScroller.computeScrollOffset()即可判斷Scroller滾動到目標位置了沒,返回true說明還沒有,這時候我們可以調用mScroller.getCurrX(), mScroller.getCurrY()獲取我們最新的X,Y軸的位置,其他相關的API大家可以看android 中文 api (64) —— Scroller 一般我們用的最好就是上面我說的三個了,一般在容器類的computeScroll()方法中這麼用。   @Override public void computeScroll() {             if (mScroller.computeScrollOffset()) {                      // mScrollX = mScroller.getCurrX();                       // Log.i(TAG. "mScrollX is "+mScrollX);                       // 記得這裡千萬不要為了做打印工作調用一次getCurrX得到mScrollX然後在下面的scrollTo再次調用getCurrX取值,每次取值Scroller都會計算一次,也就是時間向後推移一毫秒。                      scrollTo(mScroller.getCurrX(), 0);                       postInvalidate();             }    }        我再次強調一遍,其實Scroller就是充當一個距離計算器,沒有什麼神奇的,就是一堆的數學運算。  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved