博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中EditText显示明文与密文的两种方式
阅读量:5920 次
发布时间:2019-06-19

本文共 4446 字,大约阅读时间需要 14 分钟。

版权声明:本文为HaiyuKing原创文章,转载请注明出处!

前言

记录输入框显示、隐藏密码的简单布局以及实现方式。

效果图

  

代码分析

方式一

/**方式一:*/    private void showOrHiddenPwd(){        if(! showPwd){            showPwd = true;            img_pwdshow.setImageResource(R.drawable.pwd_show);            //显示密码            edt_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());        }else{            showPwd = false; img_pwdshow.setImageResource(R.drawable.pwd_hidden); //隐藏密码  edt_password.setTransformationMethod(PasswordTransformationMethod.getInstance()); } }

方式二

/**方式二:*/    private void showOrHiddenPwdWithInputType(){        if(! showPwd){            showPwd = true;            img_pwdshow.setImageResource(R.drawable.pwd_show);            //显示密码            edt_password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);        }else{            showPwd = false; img_pwdshow.setImageResource(R.drawable.pwd_hidden); //隐藏密码 edt_password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); } }

使用步骤

一、项目组织结构图

注意事项:

1、  导入类文件后需要change包名以及重新import R文件路径

2、  Values目录下的文件(strings.xml、dimens.xml、colors.xml等),如果项目中存在,则复制里面的内容,不要整个覆盖

二、导入步骤

将comm_input_selector.xml复制到项目中【本来是想作为输入框的背景框,就会实现输入框获取焦点的时候边框变色,但是现在作为LinearLayout的背景,可以实现聚焦的时候变色的效果】

将图片资源复制到项目中【根据实际情况变更

  

  

 

三、使用方法

布局文件

Activity中使用

package com.why.project.androidcnblogsdemo.activity;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.text.InputType;import android.text.method.HideReturnsTransformationMethod;import android.text.method.PasswordTransformationMethod;import android.view.View;import android.widget.EditText;import android.widget.ImageView;import com.why.project.androidcnblogsdemo.R;/** * Android中EditText显示明文与密文的两种方式*/public class MainActivity extends AppCompatActivity {    private EditText edt_password;    private ImageView img_pwdshow;    private boolean showPwd = false;//默认不显示密码    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initViews();        initEvents();    }    private void initViews() {        edt_password = (EditText) findViewById(R.id.edt_password);        img_pwdshow = (ImageView) findViewById(R.id.img_pwdshow);    }    private void initEvents() {        img_pwdshow.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                showOrHiddenPwdWithInputType();            }        });    }    /**方式一:*/    private void showOrHiddenPwd(){        if(! showPwd){            showPwd = true;            img_pwdshow.setImageResource(R.drawable.pwd_show);            //显示密码            edt_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());        }else{            showPwd = false;            img_pwdshow.setImageResource(R.drawable.pwd_hidden);            //隐藏密码            edt_password.setTransformationMethod(PasswordTransformationMethod.getInstance());        }    }    /**方式二:*/    private void showOrHiddenPwdWithInputType(){        if(! showPwd){            showPwd = true;            img_pwdshow.setImageResource(R.drawable.pwd_show);            //显示密码            edt_password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);        }else{            showPwd = false;            img_pwdshow.setImageResource(R.drawable.pwd_hidden);            //隐藏密码            edt_password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);        }    }}

混淆配置

参考资料

项目demo下载地址

暂时空缺

你可能感兴趣的文章
9. Palindrome Number(回文数)(leetcode)
查看>>
Dapper:The member of type SeoTKD cannot be used as a parameter Value
查看>>
音频管理控制器
查看>>
JAVA设计模式之责任链模式
查看>>
映射docker搭建
查看>>
飞凌OK6410开发板移植u-boot官方最新版u-boot-2012.10.tar.bz2
查看>>
[转] Lodash
查看>>
【leetcode】437. Path Sum III
查看>>
【leetcode】486. Predict the Winner
查看>>
初见jQuery EasyUI
查看>>
再springMVC中自定义文件上传处理解决与原spring中MultipartResolve冲突问题
查看>>
struts2文件上传,文件类型 allowedTypes
查看>>
mysql的分区和分表
查看>>
Azure系列2.1.9 —— CloudBlob
查看>>
数组与指针的区别
查看>>
01布尔模型&倒排索引
查看>>
Mysql 锁机制和事务
查看>>
MySQL之自定义函数实例讲解
查看>>
Hibernate错误:javax/persistence/EntityListeners
查看>>
Firefox --- 火狐浏览器下载
查看>>