三步:
1.atts.xml 定義自定義控件所需要的所有屬性

2.控件代碼實現:主要是取出att.xml中的屬性對應到對應的控件上,并把單獨的控件加入到viewGroup中,形成一個整體

圖片代碼簡化了部分重復內容
3.布局的引用
通過包名+定義的控件名引用自定義的控件,通過xmlns指向報名(或者apk/res-auto)指向屬性att.xml(類似JAVA代碼import導包),custom 為導xml時自定義的關鍵字標識,然后在控件中通過custom引入自定義的屬性,設置控件屬性。

4.自定義控件內部的按鈕點擊響應:為保證通用,用接口回調來實現點擊響應。調用topBar.setOnClickListener()時傳入一個接口,接口中實現點擊不同控件的響應邏輯。TopBar.java的setOnClickListener方法獲取到傳入進來的帶有點擊邏輯的接口實現,再在對應的按鍵onclick中調用對應的響應方法。實現了哪里引用控件,就在那里實現點擊邏輯。

TopBar.java

5.其他動態(tài)控制控件的顯示情況:在TopBar.java(自定義控件類)中定義一個方法,通過調用者傳入的參數控制顯示。


總結:定義屬性--->屬性對應到控件--->控件加入到viewgroup形成整體控件--->控件引用