实现输入框密码文本的显示与隐藏有两种,一种是通过直接改变android:inputType,一种是通过改变android.text.method.TransformationMethod。
方式一:改变android:inputType的值
实现代码如下:
/**
* 密码显示或隐藏 (切换)
*/
private void showOrHide(EditText etPassword){
//记住光标开始的位置
int pos = etPassword.getSelectionStart();
if(etPassword.getInputType()!= (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD)){//隐藏密码
etPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
}else{//显示密码
etPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
}
etPassword.setSelection(pos);
}
参见:android:inputType
对应的值与描述如下:
This corresponds to the global attribute resource symbolinputType
.
方式二:改变android.text.method.TransformationMethod 的值。
实现代码如下:
/**
* 显示或隐藏
* @param isShow
*/
private void showOrHide(boolean isShow){
//记住光标开始的位置
int pos = etPassword.getSelectionStart();
if(isShow){
etPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}else{
etPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
etPassword.setSelection(pos);
}
参见:android.text.method.TransformationMethod
分享到:
相关推荐
综上所述,通过创建自定义的Edittext并监听文本变化,我们可以实现一个下划线类型的密码输入框,支持连续输入和删除,同时确保焦点在输入时后移,删除时前移。这种自定义的密码输入框在Android应用程序中非常实用,...
在Android的EditText中,我们可以添加一个图标作为清除按钮,通过监听文本变化事件(TextWatcher)来控制按钮的显示与隐藏。当输入框有内容时,显示清除按钮;当输入为空时,隐藏清除按钮。这个功能的实现需要在XML...
反之,当密码隐藏时,显示为星号或圆点,保护用户隐私。实现这一功能的关键在于监听用户的点击事件,并动态改变EditText的inputType属性,从而控制密码的可见性。 其次,集成的删除功能意味着用户可以方便地清除...
本文将详细讲解如何实现`EditText`输入密码时的显示与隐藏功能。 首先,我们需要了解两个关键的`TransformationMethod`类:`PasswordTransformationMethod`和`HideReturnsTransformationMethod`。`...
在Android开发中,创建一个具有特定功能的登录输入框是常见的需求,比如带有删除按钮以及显示/隐藏密码的选项。这个自定义控件——MyLoginEditText,旨在提供更友好的用户体验,让用户能够方便地清除输入内容,同时...
在`onCreate`方法中,我们获取到EditText和ImageView的引用,并设置初始状态,即密码是隐藏的,"小眼睛"图标显示为关闭状态。`toggleVisibility`方法则负责根据当前状态切换EditText的显示方式,同时更新“小眼睛”...
它旨在模仿支付宝密码输入框的效果,提供了方形和圆形两种不同的显示模式,使得用户在输入密码时能感受到更加专业且安全的交互体验。 首先,我们来详细了解`EditText`。`EditText`是Android系统提供的一个文本输入...
在`EditText`中限制数字、字母和字符的输入,主要是为了创建一个安全的密码输入框,防止用户输入不符合规则的字符。以下是一些相关的知识点: 1. **正则表达式基础**: - **字符集**:`[abc]`表示匹配a、b或c中的...
本主题聚焦于一个增强版的EditText组件——PowerfulEditText,它提供了更多便利的功能,如内置的一键清除按钮、密码显示与隐藏切换,以及自定义资源的能力。这些特性使得开发者能够更方便地定制输入框,提升应用的...
当涉及到敏感信息,如密码,通常我们会希望用户输入时显示为星号或圆点,以保护隐私。本教程将深入讲解如何在Android的`EditText`中实现密码显示与隐藏的功能。 首先,`EditText` 的`inputType`属性是控制输入类型...
总之,通过切换`EditText`的`TransformationMethod`,我们可以轻松实现在Android中动态显示或隐藏密码输入框的内容。这样的功能不仅提升了用户体验,也符合了数据隐私的要求。同时,要关注与之相关的其他问题,如软...
在Android应用开发中,创建一个自定义的仿支付宝密码输入框是提高用户体验的重要步骤。这个自定义组件通常被称为“一字一框”的密码输入框,它允许用户每输入一个字符,都会在界面上显示一个单独的框,从而提供更好...
布局文件中,EditText与“显示/隐藏”按钮通常会一起放在一个LinearLayout或ConstraintLayout中,通过约束和布局参数调整它们的位置和对齐方式。 8. **测试和调试**: 如描述中提到,由于不同设备和系统版本可能...
2. `android:hint`:设置提示信息,在无文本时显示。 3. `android:inputType`:定义输入类型,如文本、数字、密码等。 4. `android:imeOptions`:设置虚拟键盘的行为。 5. `android:digits`:限制可以输入的字符集。...
本文将详细介绍如何通过自定义EditText控件实现一个功能完善的登录用户名和密码输入框,包括输入时显示删除按钮以及密码的星号加密显示。我们将讨论以下几个关键知识点: 1. **自定义EditText** 自定义View是...
在网页表单设计中,为增强用户体验,有时会提供一种功能,允许用户通过点击一个小眼睛图标来切换显示或隐藏输入的密码。这篇文章将详细介绍如何使用JavaScript实现这一功能。该功能通常用于登录或其他涉及输入密码的...
"仿支付宝,微信支付Edittext控件"这个主题,就是关于如何在Android应用中创建与支付宝、微信支付类似的输入框组件,以提供用户友好的体验,尤其是用于支付密码或验证码的输入。 编辑框(EditText)是Android开发中...
密码输入框则是在用户输入时显示星号或圆点,保护用户的隐私信息,通常用于银行卡号、密码等敏感数据的输入。 1. **自定义View**: 自定义数字键盘通常需要创建一个新的View类,继承自`View`或者`LinearLayout`等...
在Android开发中,有时为了提供更丰富的用户体验,我们可能需要在EditText控件中展示动态的GIF图片,例如,将GIF图片作为密码输入框的占位符。这个"可以显示gif图片的Edittext" demo就是针对这种情况设计的,它实现...
在Android开发中,为了保障用户的安全性和隐私,密码输入框的设计和实现是非常关键的一环。本文将详细探讨如何在Android应用中实现一个安全且用户体验良好的密码输入框,类似微信和支付宝的设计,同时提供源码和APK...