三個(gè)值得學(xué)習(xí)的自定義 View 開源項(xiàng)目

自定義 View 主要掌握以下四塊內(nèi)容:
1、繪制機(jī)制:掌握 onMeasure,onLayout,onDraw 及相關(guān)類的使用;
2、事件傳遞機(jī)制:掌握 dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相關(guān)邏輯;
3、屬性動(dòng)畫:因?yàn)閷傩詣?dòng)畫核心是對(duì)數(shù)值的變化,使用屬性動(dòng)畫對(duì)值 View 做動(dòng)畫操作;
4、相關(guān)手勢(shì)類。
下面推薦三個(gè)開源項(xiàng)目,非常適合學(xué)習(xí)自定義 View,好好看看源碼,一定讓你對(duì)自定義 View 有更深的認(rèn)識(shí)。
1、圓形圖片庫 CircleImageView

圖片裁剪功能是 Android 開發(fā)最常見的功能之一,而圓形圖片也是非常常見的功能,常用于個(gè)人圖像。GitHub 上開源的庫 CircleImageView 就實(shí)現(xiàn)了這樣的功能,如果看 CircleImageView 源碼就一個(gè)類,直接繼承 ImageView,通過復(fù)寫 ImageView 一些方法繪制成圓形圖片,是一個(gè)非常值得去學(xué)習(xí)自定義 View 開源項(xiàng)目。
GitHub 地址
https://github.com/hdodenhof/CircleImageView
2、帶數(shù)字的 ProgressBar

代碼家作品,帶有數(shù)字的 ProgressBar,效果可謂驚艷,繼承 View 實(shí)現(xiàn) ProgressBar,雖然現(xiàn)在不更新了,但卻是一個(gè)十分值得去學(xué)習(xí)自定義 View 開源項(xiàng)目。
GitHub 地址
https://github.com/daimajia/NumberProgressBar
3、圖片縮放庫 PhotoView

對(duì) ImageView 支持各種手勢(shì)操作,縮放、移動(dòng)、旋轉(zhuǎn),同樣是一個(gè)十分值得去學(xué)習(xí)自定義 View 開源項(xiàng)目,可以讓你熟練掌握手勢(shì)操作。
GitHub 地址
https://github.com/chrisbanes/PhotoView
-?End -
Android 畫布CanvasAndroid事件傳遞機(jī)制分析
