Android之密码的显示与隐藏

很多应用都是显示与隐藏密码的功能。

之前的项目都没这个功能要求,也没有专门研究这个。最近项目有加这个功能,我这里也刚好整理一下。

我的思路是设置EditText的InputType。代码如下:

 if (mPasswordVisible) {
            //设置EditText的密码为可见的
            edtPassword.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
        } else {
            //设置密码为隐藏的
            edtPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
        }

运行代码,可以正常显示隐藏密码。

虽然我实现了这个功能,我还是很好奇别人是怎么实现这个功能的。

上网搜索一下,发现大部分人是用以下方法:

if (mPasswordVisible) {
            //设置EditText的密码为可见的
            edtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
        } else {
            //设置密码为隐藏的
            edtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
        }

运行代码,同样可以正常显示隐藏密码。

以上两种方法都能实现这个功能,不过第二个方法太陌生了。。。

以上,还有一个问题,切换显隐后,光标会跳到最前面,为了解决这个问题,需要加上以下代码:

edtPassword.setSelection(edtPassword.getText().length());

完美解决问题。

时间: 2024-10-21 07:05:45

Android之密码的显示与隐藏的相关文章

Android文本输入框(EditText)切换密码的显示与隐藏

package cc.c; import android.app.Activity; import android.os.Bundle; import android.text.Selection; import android.text.Spannable; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; im

js控制密码的显示与隐藏实例

原理是建立2个input,一个type是text,一个type是password.在点击按钮时,这两input个的显示状态与val()的值在切换. html: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>案例测试</title> 6 <link rel="stylesheet" href=&

IOS swift实现密码的显示与隐藏

最近做项目遇到一个需要做密码的显示与隐藏功能,简单从功能上讲是比较简单的,但是,ios有个恶心的BUG,就是在切换显示密码后再隐藏密码时输入就被清空了,这个非常不友好,为了解决这个问题,我在网上找了相关文章,得到了一些启发,解决了这个问题,在这里分享出来供给大家参考与学习! 代码如下: importUIKit class MyTextField:UITextField,UITextFieldDelegate{ private var maxLength=11 overrideinit(frame

输入框密码切换显示或隐藏功能的实现

在一些网站或web app登陆的时候输入密码时有一个显示或者隐藏密码字符的开关,个人想到实现方法应当是js动态修改input标签的type属性,当type为text的时候会显示密码内容,而type为password的时候则会显示为圆点或者星号等,以下是demo: html: 1 <input type="password" id="pwd"> 2 <button id="clc">click</button>

android 软键盘的显示与隐藏问题的研究

在android中,常常会和输入法的软件键盘交互.在Manifest文件中,系统给activity的一个属性-windowSoftInputMode来控制输入法的显示方式. 该属性提供了Activity的window与软键盘的window交互的方式.这里的属性设置有双方面的影响: 1.软键盘的显示与隐藏.-当Activity界面成为用户的焦点时,或隐藏或显示. 2. 对Activty的主window窗体进行调整.或者将Activity的window窗体调小以便为软键盘腾出空间,或者当Activi

js密码修改显示与隐藏效果

一.添加input框 <form class="login_form"> <input class="password inputpwd" id="oldpwd" name="oldpwd" type="password" placeholder="请输入旧密码" /> <div class="invisible" onclick=&qu

Android Visibility控件显示和隐藏

Android控件显示和隐藏 visibility 可见(visible) XML文件:android:visibility="visible" Java代码:view.setVisibility(View.VISIBLE); 不可见(invisible) XML文件:android:visibility="invisible" Java代码:view.setVisibility(View.INVISIBLE); 隐藏(GONE) XML文件:android:vis

关于密码的显示和隐藏

我们经常在开发中经常遇到密码是以密码的格式显示还是以文本的格式显示,在这给大家提供一个小思路,以后遇到了可以参考参考 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .pass{ width:200px; height: 20px; } </

Android下拉上滑显示与隐藏Toolbar另一种实现

public abstract class RecyclerViewScrollListener extends RecyclerView.OnScrollListener { private static final int SCROLL_DISTANCE = 50; private int totalScrollDistance; private boolean isShow = true; @Override public void onScrollStateChanged(Recycle