android自定義控件,三個(gè)構(gòu)造方法的總結(jié)

一般步驟為:
1.創(chuàng)建控件的類文件,定義其功能邏輯。一般繼承自現(xiàn)有控件或者View
2.在res/values目錄下創(chuàng)建attrs.xml文件,用于定義該控件的xml標(biāo)簽屬性,方便在使用xml聲明該控件時(shí)設(shè)置參數(shù)
3.實(shí)現(xiàn)該控件的構(gòu)造器,在構(gòu)造器中把xml標(biāo)簽屬性與后臺(tái)代碼中的變量相連接
4.完成以上步驟之后,便可使用該控件
注意: View三個(gè)構(gòu)造函數(shù):
public View (Context context) 是在java代碼創(chuàng)建視圖的時(shí)候被調(diào)用 ,當(dāng)不需要使用xml聲明或者不需要使用inflate動(dòng)態(tài)加載時(shí)候,實(shí)現(xiàn)此構(gòu)造函數(shù)即可 。 如果是從xml填充的視圖,就不會(huì)調(diào)用這個(gè)

public View (Context context, AttributeSet attrs) 當(dāng)需要在xml中聲明此控件,則需要實(shí)現(xiàn)此構(gòu)造函數(shù)。并且在構(gòu)造函數(shù)中把自定義的屬性與控件的數(shù)據(jù)成員連接起來,這個(gè)是在xml創(chuàng)建但是沒有指定style的時(shí)候被調(diào)用, 即寫在xml里的 調(diào)用2個(gè)參數(shù)的 attr里邊傳過來的是 xml里邊對(duì)應(yīng)的height width等參數(shù),包括自己定義的參數(shù)。

public View (Context context, AttributeSet attrs, int defStyle) 接受一個(gè)style資源

View重要的回調(diào)
onFinishInflate() 在此控件被通過xml聲明的方式創(chuàng)建之后調(diào)用
onMeasure(in,int) 計(jì)算本控件的寬高,如果繼承自原有控件,則一般不需要重寫此方法
onLayout() 用于布局控件,對(duì)于不是繼承ViewGroup的控件,一般不需要重寫此方法
onDraw() 在繪制控件時(shí)候調(diào)用,控件具體長(zhǎng)什么樣子就在此方法中實(shí)現(xiàn)

,

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容