詳解Android Scroller與computeScroll的調(diào)用機(jī)制關(guān)系
Android ViewGroup中的Scroller與computeScroll的有什么關(guān)系?
答:沒有直接的關(guān)系
知道了答案,是不是意味著下文就沒必要看了,如果說對ViewGroup自定義控件不感興趣,可以不用看了。
1.Scroller到底是什么?
答:Scroller只是個(gè)計(jì)算器,提供插值計(jì)算,讓滾動過程具有動畫屬性,但它并不是UI,也不是滑動輔助UI運(yùn)動,反而是單純地為滑動提供計(jì)算。
無論從構(gòu)造方法還是其他方法,以及Scroller的屬性可知,其并不會持有View,輔助ViewGroup滑動
2.Scroller只是提供計(jì)算,那誰來調(diào)用computeScroll使得ViewGroup滑動
答:computeScroll也不是來讓ViewGroup滑動的,真正讓ViewGroup滑動的是scrollTo,scrollBy。computeScroll的作用是計(jì)算ViewGroup如何滑動。而computeScroll是通過draw來調(diào)用的。
3.computeScroll和Scroller都是計(jì)算,兩者有啥關(guān)系?
答:文章開始已作答,沒有直接的關(guān)系。computeScroll和Scroller要是飛得拉關(guān)系的話,那就是computeScroll可以參考Scroller計(jì)算結(jié)果來影響scrollTo,scrollBy,從而使得滑動發(fā)生改變。也就是Scroller不會調(diào)用computeScroll,反而是computeScroll調(diào)用Scroller。
4.滑動時(shí)連續(xù)的,如何讓Scroller的計(jì)算也是連續(xù)的?
這個(gè)就問到了什么時(shí)候調(diào)用computeScroll了,如上所說computeScroll調(diào)用Scroller,只要computeScroll調(diào)用連續(xù),Scroller也會連續(xù),實(shí)質(zhì)上computeScroll的連續(xù)性又invalidate方法控制,scrollTo,scrollBy都會調(diào)用invalidate,而invalidate回去觸發(fā)draw,從而computeScroll被連續(xù)調(diào)用,綜上,Scroller也會被連續(xù)調(diào)用,除非invalidate停止調(diào)用。
5.computeScroll如何和Scroller的調(diào)用過程保持一致。
computeScroll參考Scroller影響scrollTo,scrollBy,實(shí)質(zhì)上,為了不重復(fù)影響scrollTo,scrollBy,那么Scroller必須終止計(jì)算currX,currY。要知道計(jì)算有沒有終止,需要通過mScroller.computeScrollOffset()
以上所述還算比較清楚,相信大家對Android Scroller與computeScroll的調(diào)用機(jī)制關(guān)系吧都明白吧,如有問題歡迎給我留言,謝謝大家一直以來對腳本之家網(wǎng)站的支持。
- Android使用Scroller實(shí)現(xiàn)彈性滑動效果
- Android用Scroller實(shí)現(xiàn)一個(gè)可向上滑動的底部導(dǎo)航欄
- android使用 ScrollerView 實(shí)現(xiàn) 可上下滾動的分類欄實(shí)例
- 詳解Android應(yīng)用開發(fā)中Scroller類的屏幕滑動功能運(yùn)用
- Android游戲開發(fā)實(shí)踐之人物移動地圖的平滑滾動處理
- android開發(fā)教程之使用線程實(shí)現(xiàn)視圖平滑滾動示例
- Android 使用 Scroller 實(shí)現(xiàn)平滑滾動功能的示例代碼
相關(guān)文章
Android實(shí)現(xiàn)簡易的柱狀圖和曲線圖表實(shí)例代碼
柱狀圖是統(tǒng)計(jì)圖表中經(jīng)常用到的一種圖表,比如降雨量之類的統(tǒng)計(jì)展示。這篇文章主要給大家介紹了關(guān)于利用Android如何實(shí)現(xiàn)簡易的柱狀圖和曲線圖表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12Android 高德地圖之poi搜索功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了android 高德地圖之poi搜索功能的實(shí)現(xiàn)代碼,在實(shí)現(xiàn)此功能時(shí)遇到很多問題,在文章都給大家提到,需要的朋友可以參考下2017-08-08Android AsyncTask實(shí)現(xiàn)機(jī)制詳細(xì)介紹及實(shí)例代碼
這篇文章主要介紹了Android AsyncTask實(shí)現(xiàn)機(jī)制詳細(xì)介紹及實(shí)例代碼的相關(guān)資料,這里附有示例代碼,幫助大家學(xué)習(xí)理解,需要的朋友可以參考下2016-12-12android中實(shí)現(xiàn)背景圖片顏色漸變方法
這篇文章主要介紹了android中實(shí)現(xiàn)背景圖片顏色漸變方法,本文直接使用配置文件實(shí)現(xiàn)了這個(gè)效果,需要的朋友可以參考下2015-05-05Android使用Rotate3dAnimation實(shí)現(xiàn)3D旋轉(zhuǎn)動畫效果的實(shí)例代碼
利用Android的ApiDemos的Rotate3dAnimation實(shí)現(xiàn)了個(gè)圖片3D旋轉(zhuǎn)的動畫,圍繞Y軸進(jìn)行旋轉(zhuǎn),還可以實(shí)現(xiàn)Z軸的縮放。點(diǎn)擊開始按鈕開始旋轉(zhuǎn),點(diǎn)擊結(jié)束按鈕停止旋轉(zhuǎn)。2018-05-05Android Handler 機(jī)制實(shí)現(xiàn)原理分析
本文主要介紹 Android Handle機(jī)制實(shí)現(xiàn)的原理,這里整理了詳細(xì)的關(guān)于Handler的資料以及工作流程和實(shí)際應(yīng)用,有興趣的小伙伴可以參考下2016-08-08android studio按鈕監(jiān)聽的5種方法實(shí)例詳解
這篇文章主要介紹了android studio按鈕監(jiān)聽的5種方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Android網(wǎng)絡(luò)請求-sign參數(shù)的設(shè)置方式
這篇文章主要介紹了Android網(wǎng)絡(luò)請求-sign參數(shù)的設(shè)置方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03