歡迎來(lái)到“實(shí)現(xiàn)自定義密碼輸入控件”這一章節(jié),PasswordInputView定義了密碼輸入的監(jiān)聽(tīng),支持直接在布局文件定義屬性值、支持直接獲取密碼輸入的長(zhǎng)度、原始密碼……
先上圖
PasswordInputView是做什么的?
PasswordInputView是一個(gè)自定義密碼輸入的控件,類(lèi)似支付寶、微信支付的密碼輸入,同時(shí)定義了密碼輸入的監(jiān)聽(tīng),支持直接在布局文件定義屬性值、支持直接獲取密碼輸入的長(zhǎng)度、原始密碼等,還可以擴(kuò)展其他方法,請(qǐng)自行實(shí)現(xiàn)。
實(shí)現(xiàn)原理
1.創(chuàng)建一個(gè)類(lèi) ‘PasswordInputView' ,讓其繼承EditText,因?yàn)槲覀円獙?shí)現(xiàn)的自定義view是用來(lái)密碼輸入的,所以必須繼承EditText。
2.為了在布局(layout)文件(.xml)能直接定義PasswordInputView各個(gè)屬性的值,我們需要定義PasswordInputView帶AttributeSet 參數(shù)的構(gòu)造方法。
public PasswordInputView(Context context, AttributeSet attr) { super(context, attr); init(context, attr); }