自定義view仿支付寶密碼輸入框

2021-07-15 12:26:35 字數 1484 閱讀 2690

效果圖

隨便講講實現,首先,這個的難點是自定義view如何獲取使用者的輸入。

現在能找到的仿支付寶的這個密碼輸入框,其他網友主要是直接繼承edittext來解決輸入問題,或者用viewgroup來包裹edittext等,沒有直接繼承view來解決問題的,我在簡單的檢視edittext原始碼和搜尋stack overflow後,提供了這種直接繼承view,自己監聽輸入的實現方式。大部分的需求都可以通過google直接或間接的解決,stack overflow上的大神還是很多的,解決問題也很深入。

首先,自定義view需要重寫以下方法:

@override

public boolean

oncheckistexteditor()

@override

public inputconnection oncreateinputconnection(editorinfo outattrs)

重寫這兩個方法,獲取到輸入連線,通過繼承baseinputconnection寫乙個自己的處理類。

class myinputconnection extends baseinputconnection

@override

public boolean committext(charsequence text, int newcursorposition)

@override

public boolean deletesurroundingtext(int beforelength, int afterlength)

return super.deletesurroundingtext(beforelength, afterlength);}}

committext所獲取到的是一些文字內容,例如輸入法輸入的單詞,短語等等,我們這裡只需要數字,這個方法可以直接返回ture,什麼也不做。

deletesurroundingtext 是個重點方法,因為我們無法監聽到軟鍵盤的del事件,必須在這裡自己傳送乙個del事件給view處理。

this.setonkeylistener(new onkeylistener() 

if (keycode==keyevent.keycode_del)

if (keycode==keyevent.keycode_enter)

log.i("keycode","code=>"+keycode);

return true;

}return false;

}});

然後,我們就可以監聽keyevent 了,剩下的就ondraw就可以了。

上面的**只是示例,並不能直接用哦。下面是github位址,**和demo都在裡面,有幫助的話請給個star。

自定義純數字密碼輸入鍵盤 仿支付寶數字密碼鍵盤

前陣子遇到專案需求,需要自己整乙個純數字密碼輸入鍵盤,所以也就整出來了,如下圖 其實也就是繼承重寫了popupwindow。public classmypopupwindowextendspopupwindowimplementsview.onclicklistener private voidin...

自定義view密碼框等同於支付寶支付密碼框

android 自定義view 密碼框 例子 遵從準則 暴露您view中所有影響可見外觀的屬性或者行為。通過xml新增和設定樣式 通過元素的屬性來控制其外觀和行為,支援和重要事件交流的事件 可以通過xml定義影響外邊和行為的屬性如下 邊框圓角值,邊框顏色,分割線顏色,邊框寬度,密碼長度,密碼大小,密...

Android自定義類似支付寶密碼輸入的控制項

前言 感覺自己記憶力不是很好,很多寫過的東西容易忘記,所以還是寫個部落格記錄一下,菜鳥一枚,望各位師傅指點。嘿餵狗,來看我們要實現的效果 如果你說 開發之前當然看不到效果,看個diao啊 我只能說 會yy嗎 ps 老猿可能覺得此程式比較簡單,勿噴哈 接下來,講講如何實現,自定義控制項一般分為三種 1...