最近项目中有这样的一个需求,就是提供给用户显示密码和隐藏密码

由于之前没有使用过,遂去寻找方案

我们都知道EditText 控件有输入的属性

这里设置类型比较多,我们可以选择,基本能满足日常开发使用,特殊需求的输入另说

ok,说到这里,我们选择一种password类型:textPassword,默认密码是不可见。

接下来就是在代码中实现显示和隐藏密码

方案1、设置输入类型

if (pwdIsVisible) {

//隐藏

pwd_et.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

}else {

//显示

pwd_et.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

}

pwdIsVisible = !pwdIsVisible;

方案2、

设置正在被运用于TextView 上的文本的转换

if (pwdIsVisible) {

pwd_et.setTransformationMethod(HideReturnsTransformationMethod.getInstance());

}else {

pwd_et.setTransformationMethod(PasswordTransformationMethod.getInstance());

}

pwdIsVisible = !pwdIsVisible;

比较上诉两种的区别

方案1、准确来说就是原生属性提供了java方法,对应了XML属性设置,应用场景就是java代码设置的类型需和xml设置的属性一致。

方案2、转换文本的设置好处就是,不需要关心xml输入类型的设置,这里只做显示和隐藏处理,并不会改变输入类型。

如果用方案1,可能会有一个问题,当我们的需求是输入特定的字符,比如还支持!@#¥%……&* 等部分特殊字符。

java或者xml设置比较麻烦,目前知道的输入监听

java代码addTextChangedListener(),内部实现输入控制

或者xml可以直接使用android:digits=“”,但如果实现显示或者隐藏,没有这个属性,那会引发输入的字符会变所有的

例如,xml设置android:digits=“12345678!#%”

java显示或隐藏  就会调用方案1中的代码去做,然而这时候inputType是么有指定字符的类型,故不能实现

所以还是推荐使用方案2

android代码密码隐藏,android 显示密码和隐藏密码相关推荐

  1. Computer:成功教你如何使用一招—就能找回以前的密码(曾经保存的密码但当前显示为******号的密码)

    Computer:成功教你如何使用一招-吊炸天-就能找回以前的密码(曾经保存的密码但当前显示为******号的密码)-建议收藏 目录 解决问题 解决思路 解决方法 解决问题 很久之前保存的密码,目前显 ...

  2. android 代码添加图片不显示,Android开发 从代码里设置Drawable图片不显示的问题

    问题描述 我们从代码里获得Drawable在设置给View时会发现,图片不显示的问题.比如如下代码: Drawable drawable = getResources().getDrawable(R. ...

  3. android 代码加view,Android中将View添加至窗口的源码分析

    本文主要内容是讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的.下文中提到的窗口可泛指我们能看到的界面,包括一个Activity呈现的界面(我们可以将之理解为应用程序窗口 ...

  4. android 代码签名apk,[Android]混淆代码后生成带签名的apk

    Android从2.3的SDK开始,将ProGuard混淆代码的功能加入了进来. 我们可以从android sdk的tools目录下看到有一个proguard目录.说明具有了代码混淆的功能. 至于如何 ...

  5. android代码说明文档,android:label说明

    文章目录 1. 说明 android:label 用于app 在切换activity的时候,自动更换左上角的显示 2. 代码架构 3. String.xml 字符串资源文件My Application ...

  6. Android代码混淆方法,Android 代码混淆零基础入门

    内容提要 本篇文章主要有三个部分,让读者读完后能自己写规则混淆项目 对Android代码怎么开启混淆做一个简单的介绍. 对混淆规则做一个简单介绍: 在混淆过后Crash日志反推代码工具retrace. ...

  7. android代码关闭数据库,android – 我应该如何正确打开和关闭我的数据库

    我有一个应用程序,它将一些数据存储在SQLite数据库中.此外,我在我的应用程序中进行了大量查询和重新查询.我在其中有大约15个活动.并且所有人都使用数据库来查询数据. 但我正在做的是在每个活动中打开 ...

  8. android代码查找图像,Android平台上利用opencv进行图像的边沿检测

    原标题:Android平台上利用opencv进行图像的边沿检测 近开始接触opencv for Android,从网上down了图像的边沿检测的代码. 测试图片: 在Android2.3.1模拟器上跑 ...

  9. Android代码 listview选中,android自定义listview的选中状态

    中心思想:将选中状态设置为完全透明色(即看不到自定义的选中状态)然后将listview 的每一项的背景设置为选中则切换背景 1,选择2个图片一个为一般的显示状态,另一张为选中状态的图片 在drawab ...

  10. Android代码混淆处理,android代码混淆解决方案

    以下包含了常见的基本代码与一些三方框架的混淆方案. ##########################基本混淆参数###################### # 代码混淆压缩比,在0~7之间,默认 ...

最新文章

  1. ASP.NET的实时天气及24小时天气预报(C#)
  2. 蝴蝶曲线python_ProE常用曲线方程:Python Matplotlib 版本代码(蝴蝶曲线)
  3. 深度学习 - MPII Human Pose Database数据集下载
  4. 1.4、设置 SpringApplication 主启动类
  5. 精通CSS滤镜(FILTER)
  6. uhs3内存卡有哪些_三分钟教你看懂存储卡标识
  7. WIN7 IE8假死现象解决方法
  8. 文件搜索工具ProFind for Mac
  9. 2021年IEEE Fellow刚刚放榜!84位华人学者当选再创新高!
  10. ictclas4j java_ictclas4j 分词工具包 安装流程
  11. 微信小程序分页(超简单)
  12. android汉字转拼音,不用第三方包
  13. 移动硬盘直接拔出后无法读取
  14. 企业微信小程序开发(行事历)
  15. 交易就是练就这五种能力(干货分享)
  16. 寒冬潮袭过后(2018总结):各知名互联网一线公司年度大裁员
  17. 中职计算机专业英语ppt,计算机专业英语ppt
  18. 2020年阿里云双11活动官网地址入口
  19. .NET基础笔记(C#)
  20. 透明度与十六进制代码转换

热门文章

  1. MathWorks 入驻中国 15 年,持续创新的秘诀有哪些?
  2. 基于ThinkPHP6的极速后台开发框架
  3. linux 安装x11 font,在X11中使用字体
  4. 前端百题斩【030】——神奇的浏览器渲染流程
  5. .NET vs .NET Framework vs vs .NET Standard
  6. VisualStudio的x64和x32默认配置
  7. 给Chrome浏览器添加 IPhone 13、12等手机型号做兼容适配
  8. Linux命令之mount挂载
  9. oracle查询最大并发数,oracle最大并发数查看
  10. 移动端css样式兼容