Android EditText內容顯示與隱藏
阿新 • • 發佈:2019-01-24
原始碼:http://download.csdn.net/detail/lm_zp/9522549
XMl
MainActivity.java<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#ffff33" > <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@null" android:drawableLeft="@drawable/ic_tip_pwd" android:hint="請輸入密碼" android:singleLine="true" /> <CheckBox android:id="@+id/checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/mycheckbox" android:button="@null" /> </LinearLayout> </LinearLayout>
package com.example.mypassword; import android.os.Bundle; import android.app.Activity; import android.text.Selection; import android.text.Spannable; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; import android.view.Menu; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.EditText; public class MainActivity extends Activity { private EditText editText; private CheckBox checkBox; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.password); checkBox = (CheckBox) findViewById(R.id.checkbox); // 設定第一次輸入密碼未不可見狀態 editText.setTransformationMethod(PasswordTransformationMethod .getInstance()); checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub if(isChecked){ // 設定EditText文字為可見的 editText .setTransformationMethod(HideReturnsTransformationMethod .getInstance()); }else{ editText.setTransformationMethod(PasswordTransformationMethod .getInstance()); } // 切換後將EditText游標置於末尾 CharSequence charSequence = editText.getText(); if (charSequence instanceof Spannable) { Spannable spanText = (Spannable) charSequence; Selection.setSelection(spanText, charSequence.length()); } } }); } }