1.微信支付輸入框的輸入效果

手機號的中間4位可以輸入和刪除,點擊手機號位置可以彈出輸入框。看著很簡單,其實自己寫的話,會出現(xiàn)各種問題。
2.嘗試過的方法
不用想就知道,都失敗了,苦虐了我4天。真的都要崩潰了,想想還是自己太菜。
第一種:放了3TextView+4Editext+4TextView,通過鍵盤輸入給這個4Editext賦值。
問題1:怎么給每個方格設置只能放一個數(shù)字?

設置最大長度為1就可以
問題2:輸入完后,下一個方格怎么獲得焦點,繼續(xù)輸入?

請求焦點
問題3:刪除操作,刪除一個方格后,如果繼續(xù)刪除,怎么跳到上一個方格?
給Editext添加鍵盤刪除鍵的監(jiān)聽,鍵盤按鍵也屬于Key事件。

監(jiān)聽刪除操作
問題4:輸入框收起了,怎么在彈起來?
就是因為這個問題,沒有很好解決,所以這個方法失敗了。只有點擊那個獲取了焦點的Edietext才可以彈出鍵盤,不然不可以。這樣就會出現(xiàn)前面還沒輸入內容,就輸入這個。我要的連續(xù)輸入,刪除,不能隔空輸入。我也做了一下努力,給Editext添加焦點監(jiān)聽,通過判斷讓第一個空著的Editext獲取焦點,這個好像不可行。
第二種:放了11個TextView,發(fā)現(xiàn)怎么也彈不起鍵盤,后來才知道,必須有Editext才可以彈出鍵盤。通過它獲取焦點。
3.GridePasswordView需要改成部分可以輸入
這個控件的思想是有一個Editext,其他的是TextView。主要是通過Editext獲取焦點,彈起鍵盤的。監(jiān)控Editext的輸入流,來個TextView賦值。
4.效果圖

手機號驗證

輸入金額