三步:
1.atts.xml 定義自定義控件所需要的所有屬性
2.控件代碼實(shí)現(xiàn):主要是取出att.xml中的屬性對(duì)應(yīng)到對(duì)應(yīng)的控件上割坠,并把單獨(dú)的控件加入到viewGroup中,形成一個(gè)整體
3.布局的引用
通過(guò)包名+定義的控件名引用自定義的控件,通過(guò)xmlns指向報(bào)名(或者apk/res-auto)指向?qū)傩詀tt.xml(類似JAVA代碼import導(dǎo)包),custom 為導(dǎo)xml時(shí)自定義的關(guān)鍵字標(biāo)識(shí),然后在控件中通過(guò)custom引入自定義的屬性雌桑,設(shè)置控件屬性。
4.自定義控件內(nèi)部的按鈕點(diǎn)擊響應(yīng):為保證通用祖今,用接口回調(diào)來(lái)實(shí)現(xiàn)點(diǎn)擊響應(yīng)校坑。調(diào)用topBar.setOnClickListener()時(shí)傳入一個(gè)接口,接口中實(shí)現(xiàn)點(diǎn)擊不同控件的響應(yīng)邏輯衅鹿。TopBar.java的setOnClickListener方法獲取到傳入進(jìn)來(lái)的帶有點(diǎn)擊邏輯的接口實(shí)現(xiàn)撒踪,再在對(duì)應(yīng)的按鍵onclick中調(diào)用對(duì)應(yīng)的響應(yīng)方法过咬。實(shí)現(xiàn)了哪里引用控件大渤,就在那里實(shí)現(xiàn)點(diǎn)擊邏輯。
5.其他動(dòng)態(tài)控制控件的顯示情況:在TopBar.java(自定義控件類)中定義一個(gè)方法掸绞,通過(guò)調(diào)用者傳入的參數(shù)控制顯示泵三。
總結(jié):定義屬性--->屬性對(duì)應(yīng)到控件--->控件加入到viewgroup形成整體控件--->控件引用