詳解Android Scroller與computeScroll的調用機制關系
Android ViewGroup中的Scroller與computeScroll的有什么關系?
答:沒有直接的關系
知道了答案,是不是意味著下文就沒必要看了,如果說對ViewGroup自定義控件不感興趣,可以不用看了。
1.Scroller到底是什么?
答:Scroller只是個計算器,提供插值計算,讓滾動過程具有動畫屬性,但它并不是UI,也不是滑動輔助UI運動,反而是單純地為滑動提供計算。

無論從構造方法還是其他方法,以及Scroller的屬性可知,其并不會持有View,輔助ViewGroup滑動
2.Scroller只是提供計算,那誰來調用computeScroll使得ViewGroup滑動
答:computeScroll也不是來讓ViewGroup滑動的,真正讓ViewGroup滑動的是scrollTo,scrollBy。computeScroll的作用是計算ViewGroup如何滑動。而computeScroll是通過draw來調用的。
3.computeScroll和Scroller都是計算,兩者有啥關系?
答:文章開始已作答,沒有直接的關系。computeScroll和Scroller要是飛得拉關系的話,那就是computeScroll可以參考Scroller計算結果來影響scrollTo,scrollBy,從而使得滑動發(fā)生改變。也就是Scroller不會調用computeScroll,反而是computeScroll調用Scroller。
4.滑動時連續(xù)的,如何讓Scroller的計算也是連續(xù)的?
這個就問到了什么時候調用computeScroll了,如上所說computeScroll調用Scroller,只要computeScroll調用連續(xù),Scroller也會連續(xù),實質上computeScroll的連續(xù)性又invalidate方法控制,scrollTo,scrollBy都會調用invalidate,而invalidate回去觸發(fā)draw,從而computeScroll被連續(xù)調用,綜上,Scroller也會被連續(xù)調用,除非invalidate停止調用。
5.computeScroll如何和Scroller的調用過程保持一致。
computeScroll參考Scroller影響scrollTo,scrollBy,實質上,為了不重復影響scrollTo,scrollBy,那么Scroller必須終止計算currX,currY。要知道計算有沒有終止,需要通過mScroller.computeScrollOffset()

以上所述還算比較清楚,相信大家對Android Scroller與computeScroll的調用機制關系吧都明白吧,如有問題歡迎給我留言,謝謝大家一直以來對腳本之家網(wǎng)站的支持。
相關文章
Android實現(xiàn)簡單的下拉刷新pulltorefresh
這篇文章主要為大家詳細介紹了Android實現(xiàn)簡單的下拉刷新pulltorefresh的相關代碼,具有一定的實用性和操作價值,感興趣的小伙伴們可以參考一下2016-07-07
wenserver獲取天氣預報數(shù)據(jù)實例分享
wenserver獲取天氣預報數(shù)據(jù),實現(xiàn)android顯示天氣信息2013-12-12
Android Kotlin環(huán)境使用ButterKnife的方法
本篇文章主要介紹了Android Kotlin環(huán)境使用ButterKnife的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03

