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

时间:2021-05-20

效果图如下所述:

布局

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns: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"><EditTextandroid: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"/><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_vertical"><EditTextandroid: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"/><CheckBoxandroid: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() {@Overridepublic 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_PASSWORDmEtPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);}}});}

第二种方式

private void initListener() {mCbDisplayPassword.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic 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显示明文与密码的两种方式,希望对大家有所帮助,如果大家想了解更多内容敬请关注!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章