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>

第一种方式

 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());
                }
            }
        });

    }
时间: 2024-10-02 21:47:17

EditText显示明文与密码的相关文章

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

效果图   布局文件 <?xml version="1.0" encoding="utf-8"?> <!-- Android中EditText显示明文与密文的两种方式 --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/to

安卓EditText显示与隐藏密码

首先,有一个EditText和CheckedBox,在xml里面设置EditText的android:inputType="textPassword",为CheckedBox添加事件监听, @Override public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { // TODO Auto-generated method stub if (isChecked) { mPswEdt.setI

C++输入密码不显示明文

之前有遇到需求说输入密码不显示明文,但同时会有一些其他问题,暂时没做,如今经过尝试可以实现,但是得先知道要输入的是密码.主要利用的getch()函数的不回显特点.需要注意的是这个函数不是标准函数,而且使用VS2013有提示换成_getch().具体代码以及效果如下: 1 /* 2 2018年9月13日21:24:48 3 4 实现输入密码时候不显示明文 5 6 */ 7 8 9 #include <iostream> 10 11 #include <string> 12 #incl

java web 程序---javabean实例--登陆界面并显示用户名和密码

重点:注意大小写,不注意细节,这点小事,还需要请教 发现一个问题,也是老师当时写的时候,发现代码没错,但是就是运行问题. 大家看,那个java类,我们要求是所有属性均为私有变量,但是方法为公有的,如果方法为不公有的,那么运行就一定有问题,一定声明为public.不写修饰符,就是不对. 这样程序可以运行了,细节.这就是我觉得老师很棒的原因. 一个表单 deng.jsp ? 1 2 3 4 5 6 7 8 <body>   <form action="c.jsp">

3种方式教你怎样显示手机wifi密码,不再愁密码忘记了

有很多小伙伴在日常使用手机的过程当中,会出现忘记WiFi密码的问题,比如说家里来了客人想要连接家里的WiFi,比如自己的手机取消保存了WiFi的密码,要重新接入的时候提示要输入密码,之后一头雾水. 今天小编要来跟大家介绍三种可以快速显示手机WiFi密码的方法. 一.借助电脑 如果你的电脑是连接WiFi的,那么可以在电脑的右下角看到如下的WiFi标记,鼠标右击WiFi信号,打开网络共享中心. 之后会弹出电脑的控制面板,在控制面板当中点击右边WiFi的名字. 在WiFi状态的窗口当中,点击无线属性

打勾显示输入的密码 --EditText与setTransformationMethod

实现目标: 实现原理: 为CheckBox添加一个监听器事件; 实现的源码: package edu.cquptzx.showPassword; import android.app.Activity; import android.os.Bundle; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; impor

Qt---实现在QLineEdit中输入密码时先显示明文,然后显示*号

如题: //==>QPasswordLineEdit.h #ifndef QPASSWORDLINEEDIT_H #define QPASSWORDLINEEDIT_H #include <QLineEdit> class QPasswordLineEdit : public QLineEdit { Q_OBJECT public: QPasswordLineEdit(QWidget *parent,int timeout = 300); ~QPasswordLineEdit(); pr

Android Edittext 显示光标 获取焦点 监听焦点

Edittext java 代码控制获取焦点 EditText mEditText = (EditText) findViewById(R.id.et); mEditText.setFocusable(true); mEditText.setFocusableInTouchMode(true); 显示光标 mEditText.requestFocus();//获取焦点 光标出现 监听EditText焦点变化 当获取焦点后 hasFocus 为true mEditText.setOnFocusCh

Apach Shiro 密码加密过程(明文生成密码过程)详细解析

前言: 最近再项目当中使用的ApachShiro安全框架,对于权限和服务器资源的保护都有一个很好的管理.前期主要参考的文章有 项目中设计密码的加盐处理以及二次加密问题,跟着断点 一步步揭开Apach Shiro 的神秘面纱 数据库: 这里我们就用最简单的admin + 123456(加密前的密码) 来做测试 ShiroConfig 配置 /** * 凭证匹配器 告诉 * @return */ @Bean public HashedCredentialsMatcher hashedCredenti