Android实现密码明密文切换(小眼睛)

本文实例为大家分享了Android实现密码明密文切换的具体代码,供大家参考,具体内容如下

小眼睛在密码栏右边!

奉上我使用的素材:

添加图片到res/darwable中

对安卓的知识掌握的非常浅,只知道 图片名称不要大写,大写会报错!
如果格式正确仍会报错的话,则 在gradle里加上这两句,俺也不懂为什么,都没有讲原理的。

aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

编辑登录页.xml

文本+可编辑文本框+小眼睛图片+按钮
小眼睛只要写一个ImageView即可

<LinearLayout
            android:id="@+id/ll_username"
            android:layout_below="@id/iv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="60dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginBottom="5dp"
            android:layout_centerVertical="true"
            android:background="#6B009688">
        <TextView
                android:id="@+id/tv_login_username"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="账号:"
                android:padding="10dp"
                android:textSize="20dp"
                android:textColor="@color/white"/>
        <EditText
                android:id="@+id/et_login_username"
                android:maxLines="1"
                android:maxLength="16"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:background="@null"/>
    </LinearLayout>
    <LinearLayout
            android:id="@+id/ll_password"
            android:layout_below="@id/ll_username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_centerVertical="true"
            android:background="#6B009688">
        <TextView
                android:id="@+id/tv_login_password"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="密码:"
                android:padding="10dp"
                android:textSize="20dp"
                android:textColor="@color/white"/>
        <EditText
                android:id="@+id/et_login_password"
                android:maxLines="1"
                android:maxLength="6"
                android:layout_width="255dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:background="@null"/>
        <ImageView android:layout_width="20dp"
                   android:layout_height="20dp"
                   android:layout_marginTop="14dp"
                   android:id="@+id/display_password"/>
    </LinearLayout>
    <LinearLayout
            android:id="@+id/ll_btm"
            android:layout_below="@id/ll_password"
            android:gravity="center"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        <Button
                android:id="@+id/btn_login"
                android:layout_width="300dp"
                android:layout_height="50dp"
                android:layout_marginTop="50dp"
                android:text="登录"
                android:textSize="18dp"
                android:background="@color/white"
        />
    </LinearLayout>

编辑登录页小眼睛功能.java

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText loginUsername;
    private EditText loginPassword;
    private Button login;
    private ImageView displayPassword;
    private boolean isHideFirst = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.hide();
        }
        //隐藏标题栏

        login = findViewById(R.id.btn_login);
        loginUsername = findViewById(R.id.et_login_username);
        loginPassword = findViewById(R.id.et_login_password);
        displayPassword = findViewById(R.id.display_password);

        login.setOnClickListener(this);
        displayPassword.setOnClickListener(this);
        displayPassword.setImageResource(R.drawable.open);
    }

    @Override
    public void onClick(View v){
        switch (v.getId()) {
            case R.id.display_password:{
                if (isHideFirst) {
                    displayPassword.setImageResource(R.drawable.open);
                    HideReturnsTransformationMethod method1 = HideReturnsTransformationMethod.getInstance();
                    loginPassword.setTransformationMethod(method1);
                    isHideFirst = false;
                } else {
                    displayPassword.setImageResource(R.drawable.close);
                    TransformationMethod method = PasswordTransformationMethod.getInstance();
                    loginPassword.setTransformationMethod(method);
                    isHideFirst = true;
                }
                int index = loginPassword.getText().toString().length();
                loginPassword.setSelection(index);
                break;
            }
            case R.id.btn_login: {
                //。。。。。
                break;
            }
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android实现显示和隐藏密码功能的示例代码

    在前端中我们知道用javascript就可以可以很容易实现,那么在Android中怎么实现这个功能呢? Java代码 package com.example.test2; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.method.HideReturnsTransformationMethod; import android.text.method.Pa

  • Android中实现EditText密码显示隐藏的方法

    在Google发布了support:design:23+以后我们发现有这么一个东西TextInputLayout,先看下效果图: <android.support.design.widget.TextInputLayout android:id="@+id/pwdLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:passw

  • Android 登录页面的实现代码(密码显示隐藏、EditText 图标切换、限制输入长度)

    效果演示 密码显示与隐藏 方法一 if(status){ etPassword.setInputType(InputType.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_NORMAL); //显示文本 status = false; }else { etPassword.setInputType(InputType.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_PASSWORD); //隐藏

  • Android 实现密码输入框动态明文/密文切换显示效果

    在项目中遇到需要提供给用户一个密码输入框明文/密文切换显示的需求,在网上搜索一圈都没有发现完整的实现,幸而找到了一个实现的思路. 先上效果图,看了录制屏幕gif的教程,无奈手机太旧系统版本不支持,只有上静态图了. 密码输入框动态明文/密文切换显示 当看到这个效果图的时候,相信你已经猜到大概的思路了.没错就是为我们的EditText设置drawableRight,图中的眼睛图片还有一个配对的,是从martial designde的网站下载的,当用户点击drawableRight时,先动态的改变dr

  • Android实现动态显示或隐藏密码输入框的内容

    本文实例展示了Android实现动态显示或隐藏密码输入框内容的方法,分享给大家供大家参考之用.具体方法如下: 该功能可通过设置EditText的setTransformationMethod()方法来实现隐藏密码或者显示密码. 示例代码如下: private Button mBtnPassword; private EditText mEtPassword; private boolean mbDisplayFlg = false; /** Called when the activity is

  • Android中实现密码的隐藏和显示的示例

    在Android开发中,需要密码的隐藏和显示,下面就和大家分享一下使用方法: xml代码: <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/white" android:orientation="horizontal" > <TextView an

  • Android EditText密码的隐藏和显示功能

    Android EditText密码的隐藏和显示功能 实现效果图: 实现代码: 首先在xml里创建两个控件 EditText和CheckBox 然后就很简单了 dt1=(EditText)findViewById(R.id.password); cb1=(CheckBox)findViewById(R.id.checkbox_1); cb1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public vo

  • Android 密码 显示与隐藏功能实例

    效果: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" 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.Passw

  • Android实现密码明密文切换(小眼睛)

    本文实例为大家分享了Android实现密码明密文切换的具体代码,供大家参考,具体内容如下 小眼睛在密码栏右边! 奉上我使用的素材: 添加图片到res/darwable中 对安卓的知识掌握的非常浅,只知道 图片名称不要大写,大写会报错!如果格式正确仍会报错的话,则 在gradle里加上这两句,俺也不懂为什么,都没有讲原理的. aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false 编辑登录页.xml 文本+可编辑

  • android实现密码框右侧显示小眼睛

    本文实例为大家分享了android实现密码框右侧显示小眼睛的具体代码,供大家参考,具体内容如下 实现效果 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" andro

  • Android带清除按钮、密码可见小眼睛的输入框

    前言 相信不少小伙伴在开发登录功能时候,或多或少都会用到输入框清除按钮.密码可见与隐藏小眼睛按钮,我之前也是但写这个功能,但是在找回密码.忘记密码里面还要重新写一次很是麻烦,现在我把它只做了一个自定义控件,可以配置清除按钮.密码可见小眼睛是否显示以及图标,有渐隐渐显和横向移动动画,不知道怎么上传可以直接观看的视频,附上三张效果图,可以点击链接观看视频是否是你想要的效果.   一.自定义控件ClearEditText 我的这个自带清除.小眼睛的控件,是一个自定义控件,控件名称ClearEditTe

  • JS实现表单中点击小眼睛显示隐藏密码框中的密码

    领导交个一个任务,要求在表单中点击小眼睛显示隐藏密码框中的密码!在一些网站中经常会用到这样的功能,今天小编就给大家分享我的实现思路及代码 准备: 1.两张png图片,一张睁眼,一张闭眼,可以到阿里巴巴矢量图库寻找(免费下载) 最终效果图 css样式部分,样式可根据自己喜好设置,没有过硬要求 <style> div:first-child { width: 300px; height: 50px; background-color: red; color: white; margin: 20px

  • vue实现密码显示隐藏切换功能

    先给大家分享效果图: 具体实现代码如下所示: html: <group> <span>设置密码</span> <x-input :type="this.registration_data.pwdType" placeholder="请填写密码" @on-change="password"></x-input> <img :src="this.registration_da

  • Android自定义密码样式 黑点转换成特殊字符

    本文为大家分享了Android自定义密码样式的制作代码,黑点换成¥.%等特殊字符,供大家参考,具体内容如下 复制下面代码即可: 布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_par

  • Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法

    本文实例讲述了Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法.分享给大家供大家参考,具体如下: 首先在Mainifest.xml的Activity元素中加入android:configChanges="orientation|keyboardHidden"属性 <activityandroid:name=".FileBrowser"android:label="@string/app_name"android:

  • Android手势密码view学习笔记(一)

    刚接触Android的时候看到别人写的手势密码view,然后当时就在想,我什么时候才能写出如此高端的东西?? 没关系,不要怕哈,说出这样话的人不是你技术不咋地而是你不愿意花时间去研究它,其实也没有那么难哦(世上无难事,只怕有心人!),下面我们就一步一步实现一个手势密码view. 想必都看过手势密码view,但我们还是看看我们今天要实现的效果吧: 上面是一个手势view的提示view,下面是一个手势view. 用法: <com.leo.library.view.GestureContentView

  • jQuery通过改变input的type属性实现密码显示隐藏切换功能

    一般我们做登录注册的时候都会提供一个让用户选择自己输入的密码是否显示的需求, 这种需求我们肯定会想到只要动态改变input的type属性不就好了(text显示/password隐藏): 于是我用了$(''#id).attr('type', 'password')这个API 然而结果并不是我想的那样,出错了 HTML 代码 Uncaught Error: type property can't be changed 意思大概就是这个属性不能被修改. 于是我就googl一手. 然而我得到的结果是这样

随机推荐