Android_EditText 密碼框預設是小圓點 怎麼改成其它的(*)?

來源:互聯網
上載者:User

標籤:android   style   blog   io   ar   color   使用   sp   java   

text.setTransformationMethod(new AsteriskPasswordTransformationMethod());  public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {@Overridepublic CharSequence getTransformation(CharSequence source, View view) {    return new PasswordCharSequence(source);} private class PasswordCharSequence implements CharSequence {    private CharSequence mSource;    public PasswordCharSequence(CharSequence source) {        mSource = source; // Store char sequence    }    public char charAt(int index) {        return ‘*‘; // This is the important part    }    public int length() {        return mSource.length(); // Return default    }    public CharSequence subSequence(int start, int end) {        return mSource.subSequence(start, end); // Return default    }}
TextView : setInputType(). setTransformationMethod()

某些場合,可能需要在運行時令某個 TextView (可能是運行時建立的,也可以是寫在 XML 檔案中的)。由於無法通過 XML 檔案指定其為 password 輸入屬性,那麼如何?這個效果呢?

TextView 有兩個方法:

setInputType(int)setTransformationMethod(TransformationMethod)

  

其中 setInputType 可以更改 TextView 的輸入方式:Contact、Email、Date、Time、Short Message、Normal Text、Password 等。還可以指定各種更正選項,如 單字首大寫、句子首字母大寫、自動校正等。

使用方法:

int inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT                      | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT                      | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE;       textView.setInputType(inputType);

而 setTransformationMethod 則可以支援將輸入的字元轉換,包括清除分行符號、轉換為掩碼。使用方法:

 textView.setTransformationMethod(PasswordTransformationMethod.getInstance());

綜合來說,如果需要實現自己的轉換,可以通過實現 TransformationMethod 介面來達到你的目的(比如讓輸入的所有字元都變成 a,或者輸入 a 顯示 z,輸入 z 顯示 a 等)。

Android_EditText 密碼框預設是小圓點 怎麼改成其它的(*)?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.