密码明文密文切换_明文转密文工具

密码明文密文切换_明文转密文工具需求:输入框一旦有值,即显示删除图标;点击切换明密文按钮,可以切换布局:代码

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

需求:

输入框一旦有值,即显示删除图标;点击切换明密文按钮,可以切换

密码明文密文切换_明文转密文工具   密码明文密文切换_明文转密文工具

布局:

<RelativeLayout android:layout_width="match_parent" android:layout_height="?attr/actionBarSize">

    <EditText android:id="@+id/login_pwd" android:layout_width="match_parent" android:layout_height="match_parent" android:hint="请输入密码" android:paddingLeft="50dp" android:paddingRight="100dp" android:singleLine="true" android:password="true"/>

    <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:padding="5dp" android:src="@drawable/iconfont_pwd" />

    <ImageView android:id="@+id/login_change" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="10dp" android:background="@drawable/display" />

    <ImageView android:id="@+id/login_change2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="10dp" android:background="@drawable/display_text" android:visibility="gone" />

    <ImageView android:id="@+id/login_pwd_clean" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:layout_marginRight="70dp" android:src="@drawable/search_clear_normal" android:visibility="invisible" />
</RelativeLayout> 

代码

//监听密码是否输入
login_pwd.addTextChangedListener(new TextWatcher() { private CharSequence temp; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { temp = s; } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if (temp.length() > 0) {//限制长度
 login_pwd_clean.setVisibility(View.VISIBLE); } else { login_pwd_clean.setVisibility(View.INVISIBLE); } } });
login_pwd_clean.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { login_pwd.setText(""); login_pwd_clean.setVisibility(View.INVISIBLE); } });
//密码显示明文
login_change.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LoginActivity.this.login_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); login_change.setVisibility(View.GONE); login_change2.setVisibility(View.VISIBLE); } }); //密码显示密文
login_change2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LoginActivity.this.login_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance()); login_change2.setVisibility(View.GONE); login_change.setVisibility(View.VISIBLE); } });

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167418.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库中的having语句_sql的having语句

    数据库中的having语句_sql的having语句SQL语句HAVING的用法HAVING语句通常与GROUPBY子句及聚集函数COUNT,AVG,SUM,MAX,MIN语句联合使用,用来过滤由GROUPBY语句返回的记录集,通常跟在GROUPBY后边作用相当于WHERE。where子句后边是指定行所对应的条件,并且不能含有聚集函数,而HAVING后边是指定组所对应的条件,可以含有聚合函数。HAVING语句的存在弥补了WHERE关键字不能与聚集函数联合使用的不足。我们可以这样理解:where筛选的是行(一个元组),而having筛选的是组(多

    2022年9月3日
    2
  • log4j pattern详解_log4j.additivity

    log4j pattern详解_log4j.additivity  在log4j的javadoc里面找到了所有的pattern,总结一下:%c输出类的名字,默认是输出全名,可以指定输出多少层次,比如%c{2}这样配置的话”a.b.c”是全类名,会输出”b.c”. %d用来输出log事件发生的时间。可以指定格式,比如:%d{yyyy-MM-ddHH:mm:ss}会输出2007-04-2620:12:03 %F   输出

    2022年8月22日
    4
  • AppCompatActivity.setContentView如何装载视图到AppCompatActivity上

    AppCompatActivity.setContentView如何装载视图到AppCompatActivity上a.Activity中在onCreate中调用setContentView(R.layout.main)是做什么的;b.PhoneWindow;c.DecorView;1.setContentView()调用流程ActivityextendsAppCompatActivity@OverrideprotectedvoidonCreate(BundlesavedInst…

    2022年6月26日
    16
  • 学生成绩管理系统(C语言版)「建议收藏」

    学生成绩管理系统(C语言版)「建议收藏」大一上学期实训项目总结(学生成绩管理系统)大一刚接触这个计算机专业的相关知识,就觉得这个专业很有趣。最先接触的编程语言就是C语言,想必大多数人都是如此吧。我们这个学期末,也就是期末考试结束后,开始这个实训。我也是第一次听说实训这个东西,当然可能这个实训也主要针对我们计算机专业的学生。我们这次实训历时5天,是由公司请来的专业人员给我们进行指导的。前面几天时进行C语言基础知识的复习与巩固,后面两天就是给每个组时间,进行实训项目的制作。我们组选择的是学生成绩管理系统,这个也是比较常见的项目,有些组选择的是贪吃

    2022年6月20日
    24
  • Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写

    Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写前言搭建环境教程:Hi3516DV300开发板——1.环境搭建此教程默认环境:Win10+VMware+Ubuntu18.04这篇文章只针对使用Windows下使用网口进行烧录,所以需要有一根网线和一根串口线直连电脑。不要问为什么不用串口,因为我之前串口烧录了2个小时还没成功,最后网口1分半钟烧录成功,至于官方提供的vscode,对serialport太不好装了,果断放弃。百度云过期可以留邮箱发需要哪个@@@@烧写准备1.安装USB转串口的驱动程序链接:USB-to-SerialC

    2022年9月23日
    0
  • docker入门(利用docker部署web应用)[通俗易懂]

    docker入门(利用docker部署web应用)[通俗易懂]前言:本课程是在慕课网上学习第一个docker化的java应用课程时所做的笔记,供本人复习之用目录第一章什么是docker1.1docker的发展史1.2docker国内应用史1.3什么是Docker第二章了解docker2.1docker思想2.1.1集装箱2.1.2标准化2.1.3隔离2.2docker解决的问题2.2.1…

    2022年5月28日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号