Android中EditText显示明文与密码的两种方式

作者:森林森 时间:2021-09-13 07:35:39 

效果图如下所述:

Android中EditText显示明文与密码的两种方式

布局


<?xml version="1.0" encoding="utf-8"?>
<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"
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="liu.basedemo.MainActivity">
<EditText
android:id="@+id/etUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:hint="请输入用户名"
android:textColor="#000000"
android:textColorHint="#55000000"
android:textSize="20sp"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:hint="请输入密码"
android:inputType="textPassword"
android:textColor="#000000"
android:textColorHint="#55000000"
android:textSize="20sp"/>
<CheckBox
android:checked="false"
android:id="@+id/cbDisplayPassword"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:button="@drawable/selector_password"/>
</RelativeLayout>
</LinearLayout>
selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/cb_checked" android:state_checked="true"/>
<item android:drawable="@mipmap/cb_normaled" android:state_checked="false"/>
</selector>

EditText显示明文与密码的两种方式如下所述:

第一种方式


private void initListener() {
mCbDisplayPassword.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.d(TAG, "onCheckedChanged: "+isChecked);
if(isChecked){
//选择状态 显示明文--设置为可见的密码
mEtPassword.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
}else {
//默认状态显示密码--设置文本 要一起写才能起作用 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD
mEtPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
}
});
}

第二种方式


private void initListener() {
mCbDisplayPassword.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.d(TAG, "onCheckedChanged: "+isChecked);
if(isChecked){
//选择状态 显示明文--设置为可见的密码
//mEtPassword.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
/**
* 第二种
*/
mEtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}else {
//默认状态显示密码--设置文本 要一起写才能起作用 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD
//mEtPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
/**
* 第二种
*/
mEtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
});
}

以上所述是小编给大家介绍的Android中EditText显示明文与密码的两种方式

来源:http://www.cnblogs.com/liunanjava/archive/2016/08/06/5744088.html

标签:edittext,明文,密码
0
投稿

猜你喜欢

  • 一看就懂:图解C#中的值类型、引用类型、栈、堆、ref、out

    2022-06-08 16:36:41
  • Spring如何在一个事务中开启另一个事务

    2021-08-30 17:29:15
  • C# wpf 通过HwndHost渲染视频的实现方法

    2023-08-30 03:33:35
  • springcloud-gateway集成knife4j的示例详解

    2023-11-29 08:56:44
  • C# 基于NAudio实现对Wav音频文件剪切(限PCM格式)

    2022-08-31 09:55:18
  • Kafka 日志存储实现过程

    2021-11-01 05:04:00
  • Android编程实现等比例显示图片的方法

    2022-05-20 03:37:34
  • Android 定时器实现图片的变换

    2021-05-28 00:33:13
  • Mybatis下的SQL注入漏洞原理及防护方法解析

    2022-06-30 18:38:29
  • 浅谈android Fragment横竖屏翻转对重新加载的要求

    2023-07-27 21:55:28
  • java读写二进制文件的解决方法

    2022-08-03 14:45:55
  • Android 控件GridView使用案例讲解

    2023-07-14 17:33:28
  • 详解Mybatis是如何解析配置文件的

    2023-10-15 23:23:40
  • Java编程Webservice指定超时时间代码详解

    2023-11-02 23:17:12
  • java8中parallelStream性能测试及结果分析

    2021-09-26 15:46:43
  • c# 值类型实例构造器

    2023-12-23 16:10:10
  • Linux下动静态库的打包与使用指南(C/C++)

    2023-06-21 20:22:11
  • java hasNextInt判断是否为数字的方法

    2023-05-17 01:51:12
  • C# Double转化为String时的保留位数及格式方式

    2021-09-08 13:12:00
  • java处理数据库不支持的emoji表情符问题解决

    2021-08-21 00:16:58
  • asp之家 软件编程 m.aspxhome.com