通常來說自定義控件分爲三種:
- 繼承View或ViewGroup
- 繼承系統現有控件,如:Button、TextView、ImageView …
- 基於組合控件,包含了其他控件
繼承View或ViewGroup
盡情馳騁吧!嘚 ~ 駕 !
繼承系統現有控件
例如,我們需要多個字數超過100字就顯示爲紅色字體(打個比方,嘿嘿…)
我們就可以繼承自系統TextView,添加監聽,超過100字顯示紅色字體,否則恢復默認。
在需要使用此控件的地方,直接在xml裏引用就可以,不需要每次在代碼中再去處理,豈不方便?
組合控件
當我們構建這樣的菜單列表,不必每一個item在佈局裏都重寫一次,可以提取相同的元素,將單個item封裝成控件,需要時直接引用即可。
思路:
分析一下佈局中的元素,左邊的icon,中間的text,右邊的文字,右邊的箭頭,抽取出相同的部分,不同的部分通過自定義屬性來區分,實現最大程度上的複用。