Android自身提供了許多widgets,但是有時候這些widgets并不能滿足我們的需求,這時我們就需要自定義View,本文會詳細說明自定義View的各種理論基礎,隻有了解了這些知識,我們才能更好地實作各種功能的控件。
我覺得自定義View中最重要的部分就是繪圖和互動,自定義的繪圖使得你的View與衆不同,互動使使用者可以與你的View進行互動,而繪圖的前提是View的量算與布局,互動的基礎是觸摸事件,是以量算、布局、繪圖、觸摸事件這些是自定義View的核心。
除此之外,一個設計友好的自定義View還應該可以像Android中自帶的widget一樣在XML中定義屬性,本文也會對此進行介紹。
-
量算、布局及繪圖機制概述
Android中View的量算、布局及繪圖機制
-
量算
源碼解析Android中View的measure量算過程
-
布局
源碼解析Android中View的layout布局過程
-
繪圖
Android中Canvas繪圖基礎詳解(附源碼下載下傳)
Android中Canvas繪圖之PorterDuffXfermode使用及工作原理詳解
Android中Canvas繪圖之Shader使用圖文詳解
Android中Canvas繪圖之MaskFilter圖文詳解(附源碼下載下傳)
Android中GPU硬體加速控制及其在2D圖形繪制上的局限
圖文詳解Andorid中用Shape定義GradientDrawable
-
觸摸事件
Android中的MotionEvent
Android中TouchEvent觸摸事件機制
-
定義XML屬性
Android中View自定義XML屬性詳解以及R.attr與R.styleable的差別
-
執行個體
[GitHub開源]Android自定義View實作微信打飛機遊戲
希望本文對大家有所幫助,後面會多寫一些自定義View執行個體的文章。
相關閱讀:
我的Android博文整理彙總