EditTex实现密码的显示隐藏
来源:互联网 发布:天天聚财网网络贷款 编辑:程序博客网 时间:2024/06/01 08:56
在开发app时,登录和注册页面,让输入的密码是否可见的需求还是挺常见的,本以为在代码中直接设置EditText的setInputType属性就行了,谁知还是有一些坑的,本篇文章带你来填坑,前方高能,请速速避退。
完成后的效果
在开始本文之前,先看下要实现的效果.
开始挖坑
查看EditText的setInputType可以设置的值
先看下EditText的setInputType可以设置的Type属性有多少
TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
TYPE_TEXT_VARIATION_PASSWORD
根据单词的意思我们知道第一个为显示密码,第二个为密码不可见.
在代码中设置setInputType的值
根据查询的Type值便可以在代码中通过设置setInputType的值来让EditText输入的值显示隐藏.下面看下代码
//根据图标判断是否显示密码 private void whetherShowPas(boolean paswdVisible) { if (paswdVisible) { //设置密码为显示的状态 mPassWd.setInputType(TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); img_eye.setImageResource(R.mipmap.dis); } else { //设置密码为隐藏的状态 mPassWd.setInputType(TYPE_TEXT_VARIATION_PASSWORD); img_eye.setImageResource(R.mipmap.hid); } mPassWd.setSelection(mPassWd.getText().length());//将光标定位到最后 }
好了,到这里你以为就完成了,高高兴兴的跑去模拟器运行看效果,但悲催的是,切换这两个状态竟然没用,不能实现开篇时的效果.
填坑之路
于是,我们又来查官方文档,进入刚刚查看Type值的页面,咦,这里有个Example,如下图
竟然,要再加入一个TYPE_CLASS_TEXT,好,我们把这个值加入刚才的代码,改变后的代码如下
//根据图标判断是否显示密码 private void whetherShowPas(boolean paswdVisible) { if (paswdVisible) { //设置密码为显示的状态 mPassWd.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); img_eye.setImageResource(R.mipmap.dis); } else { //设置密码为隐藏的状态 mPassWd.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD); img_eye.setImageResource(R.mipmap.hid); } mPassWd.setSelection(mPassWd.getText().length());//将光标定位到最后 }
在到模拟器运行一遍,WTF,果然达到了开篇时的效果,在看下TYPE_CLASS_TEXT有什么作用
TYPE_CLASS_TEXT
Class for normal text
TYPE_CLASS_TEXT就是将EditText转化为普通文本类,原来需要将EditText转换为普通文本类设置密码是否可见才能生效。
结束语
好了,到这里本文就结束了,可以在这里获取本文的源码。
转载请注明出处:www.wizardev.com
阅读全文
0 0
- EditTex实现密码的显示隐藏
- android 实现密码的显示和隐藏
- Android 显示隐藏密码的简单实现
- JQuery实现密码的显示与隐藏
- Android 显示隐藏密码的简单实现
- Android实现显示隐藏密码
- Android实现密码隐藏显示
- android下如何实现EditText显示隐藏密码的实现,
- js实现显示密码和隐藏密码
- Android 实现显示密码和隐藏密码
- 使用EditText的setTransformationMethod() 实现输入密码的显示,隐藏
- jquery 实现密码框的显示隐藏 js
- 【Android】实现动态显示隐藏密码输入框的内容
- 【Android】实现动态显示隐藏密码输入框的内容
- js简单实现密码的显示与隐藏
- VC实现文本输入框密码的显示与隐藏
- JS实现登录页密码的显示和隐藏
- 密码的显示与隐藏
- java之内部类总结
- 拖放实例
- 【微信公众号开发教程】第一章 微信公众号基础知识
- Similarity of Subtrees(深搜+hash、映射)
- java下的证书访问
- EditTex实现密码的显示隐藏
- MySQL中随机获取数据以及效率
- Java基础总结-异常处理
- 一位学长的ACM总结
- Linux系统学习方法——写给小白
- sdut_1189
- git入门大全
- PHP之数组数数据合并
- chess