1. 程式人生 > >Android開發之密碼明文密文切換顯示

Android開發之密碼明文密文切換顯示


.xml檔案
<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"
    tools:context=".MainActivity" 
    android:orientation="vertical">

    <TextView
        android:id="@+id/msg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="使用者密碼" />
    <EditText 
        android:id="@+id/edit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:password="true"/>
    
    <CheckBox 
        android:id="@+id/show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="顯示密碼"/>

</LinearLayout>

.java檔案
public class MainActivity extends Activity {
private EditText passwd=null;
private CheckBox show=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.passwd=(EditText) super.findViewById(R.id.edit);
this.show=(CheckBox) super.findViewById(R.id.show);
this.show.setOnClickListener(new OnclickListenerImp());
}

private class OnclickListenerImp implements OnClickListener{

public void onClick(View v) {
if(MainActivity.this.show.isChecked()){
//設定為明文顯示
MainActivity.this.passwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}
else{
//設定為祕聞顯示
MainActivity.this.passwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
}

}