1. 程式人生 > >Android實現設定密碼明文密文切換

Android實現設定密碼明文密文切換

需求:

某種需求可能是這樣的:設定密碼的編輯框中有一隻小眼睛,當編輯框中的密碼為明文時,點選變成密文,反之~

實現方法

 edPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());//顯示
edPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());//隱藏

看看**setTransformationMethod**是怎麼說的

setTransformationMethod(TransformationMethod method)


Sets the transformation that is applied to the text that this TextView is displaying.

翻譯:設定轉換,怎樣的轉換呢,正在被運用於文字的轉換,怎樣的文字呢,TextView 正在展示的文字。
so,組織一下就是:設定正在被運用於TextView 上的文字的轉換。

在看看setTransformationMethod(TransformationMethod method)方法裡面的引數TransformationMethod是什麼鬼

這裡寫圖片描述

由文件可知TransformationMethod 有四個子類:

  • HideReturnsTransformationMethod:This transformation method causes any carriage return characters (\r) to be hidden by displaying them as zero-width non-breaking space characters ().

翻譯:這個轉換方法發生在任何被隱藏的回車符,通過零間距的空格來顯示它們【表示不理解,可能是翻譯的不準確】

  • PasswordTransformationMethod

這裡寫圖片描述

  • ReplacementTransformationMethod
    :This transformation method causes the characters in the getOriginal() array to be replaced by the corresponding characters in the getReplacement() array.

此轉換方法會使getOriginal()陣列中的字元被getReplacement()陣列中的相應字元替換。

這裡寫圖片描述
- SingleLineTransformationMethod:This transformation method causes any newline characters (\n) to be displayed as spaces instead of causing line breaks, and causes carriage return characters (\r) to have no appearance.

此轉換方法會使任何換行符(\ n)顯示為空格,而不會顯示換行符,並不會出現回車字元(\ r)。

這裡寫圖片描述