組合控件的意思就是,咱們並不須要本身去繪製視圖上顯示的內容,而只是用系統原生的控件就行了,但咱們能夠將幾個系統原生的控件組合到一塊兒,這樣建立出的控件就被稱爲組合控件。git
定義是足夠簡單明瞭,下面咱們舉個例子。好比咱們Android中經常使用的EditText控件,我想對這個控件進行必定的功能擴展,讓這個控件有內容輸入時出現一個清除內容的按鈕,內容爲空時隱藏按鈕。同時也要有個內容改變監聽的回調接口,最後還須要能支持對EditText的屬性能夠進行必定的自定義。因爲今天的代碼量可能比之昨天的自繪控件可能會稍稍多點,因此仍是直接上代碼吧。github
1、定義組合控件的屬性,包括提示、文字顏色、大小、背景色微信
2、定義內容回調的接口spa
3、初始化組合控件MyEditText的成員變量.net
4、初始化自定義屬性以及組合控件的內容
orm
5、設置刪除鍵的點擊監聽接口
6、輸入框內容監聽ci
7、設置組合控件的兩個公有方法get
8、大功告成,看如何使用了it
好了,終於靠譜了。你們悠着點加載,貼代碼沒有辦法,就是貼截圖比較靠譜。請耐心加載後閱讀,相信會對你有所幫助。最後看下運行的結果。
源代碼,我會放在github上了,地址:https://github.com/JackCho/MyEditText
若是以爲對你有所幫助,歡迎你們訂閱個人微信公衆帳號——Android乾貨分享。下面是微信的二維碼,爲你提供及時高質的Android乾貨。