首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在android中使用可绘制的图标显示和隐藏密码

在Android中使用可绘制的图标显示和隐藏密码,可以通过以下步骤实现:

  1. 首先,在布局文件中添加一个EditText控件用于输入密码,并在其右侧添加一个ImageView控件用于切换密码可见性。示例代码如下:
代码语言:xml
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <EditText
        android:id="@+id/passwordEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />

    <ImageView
        android:id="@+id/showHidePasswordImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/passwordEditText"
        android:layout_alignEnd="@id/passwordEditText"
        android:padding="8dp"
        android:src="@drawable/ic_password_hide" />

</RelativeLayout>
  1. 接下来,在Activity或Fragment中获取EditText和ImageView的实例,并设置点击事件监听器。示例代码如下:
代码语言:java
复制
EditText passwordEditText = findViewById(R.id.passwordEditText);
ImageView showHidePasswordImageView = findViewById(R.id.showHidePasswordImageView);

showHidePasswordImageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (passwordEditText.getInputType() == InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD) {
            passwordEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
            showHidePasswordImageView.setImageResource(R.drawable.ic_password_hide);
        } else {
            passwordEditText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
            showHidePasswordImageView.setImageResource(R.drawable.ic_password_show);
        }
        passwordEditText.setSelection(passwordEditText.getText().length()); // 保持光标在末尾
    }
});
  1. 最后,为了显示和隐藏密码图标,需要准备两个可绘制的图标资源文件。在res/drawable目录下创建ic_password_hide.xml和ic_password_show.xml文件,并分别定义隐藏和显示密码的图标。示例代码如下:

ic_password_hide.xml:

代码语言:xml
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_password_hide_enabled" android:state_enabled="true" />
    <item android:drawable="@drawable/ic_password_hide_disabled" android:state_enabled="false" />
</selector>

ic_password_show.xml:

代码语言:xml
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_password_show_enabled" android:state_enabled="true" />
    <item android:drawable="@drawable/ic_password_show_disabled" android:state_enabled="false" />
</selector>

以上代码中,分别使用了ic_password_hide_enabled、ic_password_hide_disabled、ic_password_show_enabled和ic_password_show_disabled作为图标资源文件,你可以根据自己的需求替换这些资源文件。

这样,当用户点击密码输入框右侧的图标时,密码的可见性将会切换,并且图标也会相应地改变。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7分44秒

087.sync.Map的基本使用

4分11秒

05、mysql系列之命令、快捷窗口的使用

9分12秒

运维实践-在ESXI中使用虚拟机进行Ubuntu22.04-LTS发行版操作系统与密码忘记重置

1时22分

Android核心技术:一节课教你 Get 5G时代使用Webview的正确姿势!

59秒

BOSHIDA DC电源模块在工业自动化中的应用

48秒

DC电源模块在传输过程中如何减少能量的损失

22分1秒

1.7.模平方根之托内利-香克斯算法Tonelli-Shanks二次剩余

48秒

手持读数仪功能简单介绍说明

3分8秒

智能振弦传感器参数智能识别技术:简化工作流程,提高工作效率的利器

1分43秒

DC电源模块的模拟电源对比数字电源的优势有哪些?

2分7秒

手持501TC采集仪连接两线制传感器及存储查看

1分1秒

BOSHIDA 如何选择适合自己的DC电源模块?

领券