【Android】实现动态显示隐藏密码输入框的内容

在设置输入密码框时,有些时候需要按钮控制输入的是“明文”或者“暗文”。

这里提供一种Android实现动态显示隐藏密码输入框的内容的方法:

主要是通过设置EditText的setTransformationMethod()方法来实现隐藏密码或者显示密码。


java 文件

 

package com.app;



import android.os.Bundle;

import android.app.Activity;

import android.text.method.HideReturnsTransformationMethod;

import android.text.method.PasswordTransformationMethod;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

/**

 * Android动态显示隐藏密码输入框的内容

 */

public class MainActivity extends Activity {

	private Button mBtnPassword;  

	private EditText mEtPassword;  

	private boolean mbDisplayFlg = false;  

	   @Override  

	   public void onCreate(Bundle savedInstanceState) {  

	       super.onCreate(savedInstanceState);  

	       setContentView(R.layout.activity_main);  

	       mEtPassword = (EditText)findViewById(R.id.password);  

	       mBtnPassword = (Button)findViewById(R.id.button1);  

	       mBtnPassword.setOnClickListener(new OnClickListener() {  

	        @Override  

	        public void onClick(View v) {  

	            if (!mbDisplayFlg) {  

	                mEtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());  

	            } else {  

	                mEtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());  

	            }  

	            mbDisplayFlg = !mbDisplayFlg;  

	            mEtPassword.postInvalidate();  

	        }  

	       });  

	   }  

}

 

布局文件

 

 

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity" >



    <EditText android:id="@+id/password"  

        android:layout_width="fill_parent"  

        android:layout_height="wrap_content"  

        android:password="true"  

        android:textSize="18sp"  

        android:text="123456">  

    </EditText>



    <Button

        android:id="@+id/button1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignLeft="@+id/password"

        android:layout_below="@+id/password"

        android:layout_marginLeft="56dp"

        android:layout_marginTop="48dp"

        android:text="Button" />



</RelativeLayout>


 

 

你可能感兴趣的:(android)