Android之密碼的顯示與隱藏


很多應用都是顯示與隱藏密碼的功能。

之前的項目都沒這個功能要求,也沒有專門研究這個。最近項目有加這個功能,我這里也剛好整理一下。

我的思路是設置EditText的InputType。代碼如下:

 if (mPasswordVisible) {
            //設置EditText的密碼為可見的
            edtPassword.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
        } else {
            //設置密碼為隱藏的
            edtPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
        }
View Code

運行代碼,可以正常顯示隱藏密碼。

雖然我實現了這個功能,我還是很好奇別人是怎么實現這個功能的。

上網搜索一下,發現大部分人是用以下方法:

if (mPasswordVisible) {
            //設置EditText的密碼為可見的
            edtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
        } else {
            //設置密碼為隱藏的
            edtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
        }
View Code

運行代碼,同樣可以正常顯示隱藏密碼。

以上兩種方法都能實現這個功能,不過第二個方法太陌生了。。。

以上,還有一個問題,切換顯隱后,光標會跳到最前面,為了解決這個問題,需要加上以下代碼:

edtPassword.setSelection(edtPassword.getText().length());
View Code

完美解決問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM