Android自定義控件三部曲文章索引

前言:在我從C++轉到Android時,就被Android裏炫彩斑斕的自定義控件深深折服,想知道如果想利用C++實現這些功能,那是相當困難的。從那時候起,我就想,等我學會了自定義控件,一定要寫一篇系列出來,方便後來者能更系統完善地掌握它。今天,這個系列就這樣默默地誕生了,希望它能夠完成它的使命,在你讀完這系列博客時,發現定自義控件也不過如此!如果,順便能給個評論,加個關注,我將不勝感激——啓艦

 

我的新書《Android自定義控件入門與實戰》出版啦:https://blog.csdn.net/harvic880925/article/details/81455073

 

一、自定義控件三部曲之動畫篇

1、《自定義控件三部曲之動畫篇(一)——alpha、scale、translate、rotate、set的xml屬性及用法》
2、《自定義控件三部曲之動畫篇(二)——Interpolator插值器》
3、《自定義控件三部曲之動畫篇(三)—— 代碼生成alpha、scale、translate、rotate、set及插值器動畫》
4、《自定義控件三部曲之動畫篇(四)——ValueAnimator基本使用》

  • 初識ValueAnimator:ofInt,ofFloat以及監聽器用法

5、《自定義控件三部曲之動畫篇(五)——ValueAnimator高級進階(一)》

 

  • 這一節非常重要,講解了插值器與Evaluator的使用與如何自定義知識
  • 這節中有如何做到背景色漸變的特效

 

 

6、《自定義控件三部曲之動畫篇(六)——ValueAnimator高級進階(二)》

  • 這節着重講解了ValueAnimator的ofObject函數用法
  • 可以看到自定義彈性圓的伸縮特效
  • 如何給A-Z字母變化添加上插值器效果

 

7、《自定義控件三部曲之動畫篇(七)——ObjectAnimator基本使用》

  • 這節講了ObjectAnimator的用法及如何利用ObjectAnimator來實現前幾節的效果

 

8、《自定義控件三部曲之動畫篇(八)——PropertyValuesHolder與Keyframe》

  • 這節主要講了如何自定義關鍵幀的知識
  • 使用關鍵幀實現電話振鈴效果

 

9、《自定義控件三部曲之動畫篇(九)——聯合動畫的代碼實現》

  • 這節講解了如何實現組合動畫的知識包括順序播放、同時播放和自由定義順序播放以及動畫監聽器相關的知識

10、《自定義控件三部曲之動畫篇(十)——聯合動畫的XML實現與使用示例》

 

  • 利用XML來實現組合動畫的知識
  • 實現了路徑菜單動畫

11、《 自定義控件三部曲之動畫篇(十一)——layoutAnimation與gridLayoutAnimation》

 

 

  • 講解了容器類中控件的進入動畫的實現方式

12、《自定義控件三部曲之動畫篇(十二)——animateLayoutChanges與LayoutTransition》

 

 

  • 自定義容器類中控件進入、退出等相關動畫的實現方式


13、《自定義控件三部曲之動畫篇(十三)——實現ListView Item進入動畫》

 

 

  • 講解了一個實例:如何實現listview中各個item進場時的動畫

 

 

在動畫篇中,從一到十篇是必須要掌握的,11-13篇不是必須掌握的,有個印象就行

 

二、自定義控件三部曲之繪圖篇

1、《自定義控件三部曲之繪圖篇(一):概述及基本幾何圖形繪製》
2、《自定義控件三部曲之繪圖篇(二):路徑及文字》
3、《自定義控件三部曲之繪圖篇(三):區域(Range)》
4、《自定義控件三部曲之繪圖篇(四):canvas變換與操作》
5、《自定義控件三部曲之繪圖篇( 五):drawText()詳解》
6、《 自定義控件三部曲之繪圖篇(六)——Path之貝賽爾曲線和手勢軌跡、水波紋效果》

  • 本篇將講述手勢軌跡捕捉、波浪紋效果實現的幾種方法

7、《 自定義控件三部曲之繪圖篇(七)——Paint之函數大彙總》

 

 

  • 本篇將講述路徑的各種效果,比如鐵鏽路徑、自定義圖形路徑、虛線路徑等

 

8、《自定義控件三部曲之繪圖篇(八)——Paint之ColorMatrix與濾鏡效果》

 

  • 本篇將講述各種濾鏡效果的實現方法:包括黑白濾鏡、反古濾鏡、色彩增強濾鏡、色彩替換等

9、《自定義控件三部曲之繪圖篇(九)——Paint之setColorFilter》

 

  • 按鈕點擊時,動態加深圖片色彩(簡易方法)
  • 可以學到針對不同主題動態設置不同色彩圖片的方法(setTint())

 

10、《自定義控件三部曲之繪圖篇(十)——Paint之setXfermode(一)》

 

  • 硬件加速的原理與禁用方法
  • 選區顏色替換、溶合圖片、反向選區顏色替換

11、《自定義控件三部曲之繪圖篇(十一)——Paint之setXfermode(二)》

 

  • 書架中書本選中燈光效果
  • Twiter標識中空效果實現
  • 圖片圓角實現
  • 圖片倒影實現
  • 橡皮擦效果實現
  • 刮刮卡效果實現

12、《自定義控件三部曲之繪圖篇(十二)——Paint之setXfermode(三)》

 

  • 區域波紋動畫效果
  • 心電圖動畫
  • 不規則波紋
  • 刷刷卡、圖片倒影等另種實現方式

13、《自定義控件三部曲之繪圖篇(十三)——Canvas與圖層(一)》

 

  • 這篇文章中沒有任何特效,但這是繪圖篇中非常重要的一篇,對於理解Canvas繪圖起着重要作用

 

14、《自定義控件三部曲之繪圖篇(十四)——Canvas與圖層(二)》

 

  • 上一篇的續篇,講解了save、saveLayer、saveLayerAlpha中所使用的FLAG的具體意義

15、《自定義控件三部曲之繪圖篇(十五)——QQ紅點拖動刪除效果實現(基本原理篇)》

 

  • 對以往知識點進行總結複習,涉及有Canvas繪圖、SaveLayer圖層、貝賽爾曲線、手勢監聽和逐幀動畫等
  • 初步實現了QQ紅點拖動效果

16、《自定義控件三部曲之繪圖篇(十六)——給控件添加陰影效果與發光效果》

 

  • 傳統地給按鈕添加陰影的方法
  • 如何給已有控件添加陰影
  • 如何給控件添加發光效果

17、《自定義控件三部曲之繪圖篇(十七)——爲Bitmap添加陰影並封裝控件》

 

  • 如何給圖片添加陰影
  • 如何自定義控件屬性
  • 控件如何自測量
  • 如何最終封裝成控件

18、《自定義控件三部曲之繪圖篇(十八)——BitmapShader與望遠鏡效果》

 

  • 實現望遠鏡效果
  • 封裝不規則頭像控件

19、《自定義控件三部曲之繪圖篇(十九)——LinearGradient與閃動文字效果》

 

  • 講解了LinearGradient的意義
  • 實現了閃動文字效果控件

20、《自定義控件三部曲之繪圖篇(二十)——RadialGradient與水波紋按鈕效果》

 

  • 講解了RradialGradient知識
  • 實現了按鈕水波紋效果

 

 

三、自定義控件三部曲之視圖篇

1、《自定義控件三部曲視圖篇(一)——測量與佈局》

 

 

  • 講解onMeasure、onLayout的區別與用法
  • 講解margin的計算方法

 

2、《自定義控件三部曲視圖篇(二)——FlowLayout自適應容器實現》

 

  • 實現了自適應的派生自ViewGroup的容器FlowLayout

3、《自定義控件三部曲視圖篇(三)——瀑布流容器WaterFallLayout實現》

 

  • 講解了自定義LayoutParams並使用的方法
  • 能夠了解派生自ViewGroup的控件如何定義與使用的方法

 

 

如果你喜歡我的文章,那麼你將會更喜歡我的微信公衆號,將定期推送博主最新文章與收集乾貨分享給大家(一週一次)

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章