EditText 实现密码可见与不可见

效果图

在这里插入图片描述
在这里插入图片描述

布局代码

 <androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tv_account_hint"style="@style/create_account_left"android:text="@string/team_set_account_string"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/ed_account"style="@style/create_account_edit_right"android:hint="@string/team_set_account_hint_string"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@+id/tv_account_hint"app:layout_constraintTop_toTopOf="parent" /><Viewstyle="@style/create_account_line"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/tv_account_hint" /><TextViewandroid:id="@+id/tv_password_hint"style="@style/create_account_left"android:text="@string/team_set_pwd_string"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/tv_account_hint" /><EditTextandroid:id="@+id/ed_password"style="@style/create_account_edit_right"android:inputType="textPassword"android:hint="@string/team_set_password_hint_string"app:layout_constraintEnd_toStartOf="@+id/iv_pwd_eye"app:layout_constraintStart_toEndOf="@+id/tv_password_hint"app:layout_constraintTop_toBottomOf="@+id/ed_account" /><ImageViewandroid:id="@+id/iv_pwd_eye"android:layout_width="@dimen/dm048"android:layout_height="@dimen/dm048"android:layout_marginTop="@dimen/dm024"android:layout_marginRight="@dimen/dm024"android:scaleType="fitXY"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@+id/ed_password"app:layout_constraintTop_toBottomOf="@+id/ed_account"tools:src="@drawable/vip_score_see_off" /><Viewstyle="@style/create_account_line"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/tv_password_hint" /><TextViewandroid:id="@+id/tv_sure_hint"style="@style/create_account_left"android:text="@string/team_sure_pwd_string"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/tv_password_hint" /><EditTextandroid:id="@+id/ed_password_again"style="@style/create_account_edit_right"android:hint="@string/team_again_pwd_string"android:inputType="textPassword"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@+id/tv_sure_hint"app:layout_constraintTop_toBottomOf="@+id/ed_password" /><ImageViewandroid:id="@+id/iv_pwd_again_eye"android:layout_width="@dimen/dm048"android:layout_height="@dimen/dm048"android:layout_marginTop="@dimen/dm024"android:layout_marginRight="@dimen/dm024"android:scaleType="fitXY"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@+id/ed_password"app:layout_constraintTop_toBottomOf="@+id/ed_password"tools:src="@drawable/vip_score_see_off" /></androidx.constraintlayout.widget.ConstraintLayout>

style 引用

    <!--创建账号 右边--><style name="create_account_edit_right"><item name="android:layout_width">@dimen/dm000</item><item name="android:layout_height">@dimen/dm096</item><item name="android:layout_marginLeft">@dimen/dm040</item><item name="android:background">@null</item><item name="android:ellipsize">end</item><item name="android:gravity">center_vertical</item><item name="android:singleLine">true</item><item name="android:paddingRight">@dimen/dm024</item><item name="android:textColor">@color/color_999</item><item name="android:textSize">@dimen/dm032</item></style><!--创建账号 左边--><style name="create_account_left"><item name="android:layout_width">@dimen/dm162</item><item name="android:layout_height">@dimen/dm096</item><item name="android:gravity">center_vertical</item><item name="android:textColor">@color/color_19</item><item name="android:layout_marginLeft">@dimen/dm032</item><item name="android:textSize">@dimen/dm032</item></style>

代码

		//设置默认图setSye(binding.ivPwdEye, false)setSye(binding.ivPwdAgainEye, false)//点击事件binding.ivPwdEye.setOnClickListener {setEysSee(binding.edPassword, binding.ivPwdEye)}binding.ivPwdAgainEye.setOnClickListener {setEysSee(binding.edPasswordAgain, binding.ivPwdAgainEye)}/*** 密码是否可见* 1 明文*/private fun setEysSee(editText: EditText, imageView: ImageView) {if (editText.inputType == 1) {editText.inputType = InputType.TYPE_TEXT_VARIATION_PASSWORD or InputType.TYPE_CLASS_TEXT} else {editText.inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_NORMAL}setSye(imageView, editText.inputType == 1)//光标位置editText.setSelection(editText.text.toString().length)}private fun setSye(imageView: ImageView, isSee: Boolean) {imageView.background = resources.getDrawable(if (isSee) R.drawable.vip_score_see_on else R.drawable.vip_score_see_off)}

就可以实现OK了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/576651.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA面试八股文之集合

JAVA集合相关 集合&#xff1f;说一说Java提供的常见集合&#xff1f;hashmap的key可以为null嘛&#xff1f;hashMap线程是否安全, 如果不安全, 如何解决&#xff1f;HashSet和TreeSet&#xff1f;ArrayList底层是如何实现的&#xff1f;ArrayList listnew ArrayList(10)中的li…

flutter 修改app名字和图标

一、修改名字 在Android中修改应用程序名称&#xff1a; 在AndroidManifest.xml文件中修改应用程序名称&#xff1a; 打开Flutter项目中的android/app/src/main/AndroidManifest.xml文件。找到<application>标签&#xff0c;然后在android:label属性中修改应用程序的名称…

《QT实用小工具·四》屏幕拾色器

1、概述 源码放在文章末尾 该项目实现了屏幕拾色器的功能&#xff0c;可以根据鼠标指定的位置识别当前位置的颜色 项目功能包含&#xff1a; 鼠标按下实时采集鼠标处的颜色。 实时显示颜色值。 支持16进制格式和rgb格式。 实时显示预览颜色。 根据背景色自动计算合适的前景色…

基于Python的电商特产数据可视化分析与推荐系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 利用网络爬虫技术从某东采集某城市的特产价格、销量、评论等数据&#xff0c;经过数据清洗后存入数据库&#xff0c;并实现特产销售、市场占有率、价格区间等多维度的可视化统计分析&#xff0c;并…

linux中查看内存占用空间

文章目录 linux中查看内存占用空间 linux中查看内存占用空间 使用 df -h 查看磁盘空间 使用 du -sh * 查看每个目录的大小 注意这里是当前目录下的文件大小&#xff0c;查看系统的可以回到根目录 经过查看没有发现任何大的文件夹。 继续下面的步骤 如果您的Linux磁盘已满&a…

【LVGL-字库应用】

LVGL-中文字库应用 ■ LVGL-内部字库■ LVGL 内部字库的使用流程&#xff1a; ■ LVGL-自定义字库■ 方法一&#xff1a;C 语言数组&#xff08;内部读取&#xff09;-在线转换工具■ 方法二&#xff1a;C 语言数组&#xff08;内部读取&#xff09;-利用离线字体转换软件&…

ISG100-160立式管道泵

引言&#xff1a; 在现代工业生产和日常生活中&#xff0c;安全且高效的流体输送系统是不可或缺的。其中&#xff0c;ISG100-160立式管道泵因其出色的性能和可靠性而广受青睐。本文将全面介绍这款管道泵的技术参数、特点、应用场景以及安装与维护的相关知识&#xff0c;以帮助用…

免费翻译pdf格式论文

进入谷歌翻译网址https://translate.google.com/?slauto&tlzh-CN&opdocs 将需要全文翻译的pdf放进去 选择英文到中文&#xff0c;然后点击翻译 可以选择打开译文或者下载译文&#xff0c;下载译文会下载到电脑上&#xff0c;打开译文会在浏览器打开。

安卓调试桥ADB

Logcat 命令行工具 | Android Studio | Android Developers 什么是ADB ADB 全称为 Android Debug Bridge &#xff0c;是 Android SDK &#xff08;安卓的开发工具&#xff09;中的一个工具&#xff0c;起到调试桥的作用&#xff0c;是一个 客户端 - 服务器端程序 。其中 …

npm install的时候一直卡在sill idealTree buildDeps没有反应

描述&#xff1a;npm install的时候一直卡在sill idealTree buildDeps没有反应 第一步&#xff1a;清缓存 npm cache clean --force 第二步&#xff1a;换镜像 npm config set registry https://registry.npmmirror.com检查是否安装成功 npm config get registry第三步&…

I.MX6ULL_Linux_驱动篇(55)linux 网络驱动

网络驱动是 linux 里面驱动三巨头之一&#xff0c; linux 下的网络功能非常强大&#xff0c;嵌入式 linux 中也常常用到网络功能。前面我们已经讲过了字符设备驱动和块设备驱动&#xff0c;本章我们就来学习一下linux 里面的网络设备驱动。 嵌入式网络简介 网络硬件接口 首先…

网络七层模型之数据链路层:理解网络通信的架构(二)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…