Android之密碼的顯示與隱藏

來源:互聯網
上載者:User

標籤:class   put   需要   edit   close   分享   turn   input   實現   

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

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

我的思路是設定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

完美解決問題。

Android之密碼的顯示與隱藏

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.