打勾显示输入的密码

有时候我们让用户保证自己输入的密码正确,会提供一个“显示密码”的选取项,这样用户就可以看到刚才输入的密码了,必要时也可以关闭“显示密码”。

第一步:新建一个Android工程命名为ShowPassword目录结构如下图:

打勾显示输入的密码_第1张图片

第二步:修改activity_main.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"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/please_input_password" />

    <EditText
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <CheckBox
            android:id="@+id/cb_show_password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/show_password" />
    </LinearLayout>

</LinearLayout>

strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">显示密码</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="please_input_password">请输入密码:</string>
    <string name="show_password">显示密码</string>

</resources>

第三步:编写MainActivity类:

package net.csdn.leogo.showpassword;

import android.app.Activity;
import android.os.Bundle;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;

public class MainActivity extends Activity implements OnCheckedChangeListener {
	private EditText mPasswordEditText;
	private CheckBox mShowPasswordCheckBox;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mPasswordEditText = (EditText) findViewById(R.id.et_password);
		mShowPasswordCheckBox = (CheckBox) findViewById(R.id.cb_show_password);
		mShowPasswordCheckBox.setOnCheckedChangeListener(this);
	}

	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		if (isChecked) {
			// 设置EditText的内容为可见
			mPasswordEditText
					.setTransformationMethod(HideReturnsTransformationMethod
							.getInstance());
		} else {
			// 设置EditText的内容为隐藏
			mPasswordEditText
					.setTransformationMethod(PasswordTransformationMethod
							.getInstance());
		}

	}

}

打勾显示输入的密码_第2张图片

打勾显示输入的密码_第3张图片

你可能感兴趣的:(android,显示密码)