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中实现密码的隐藏和显示的示例

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

  • 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 密码 显示与隐藏功能实例

    效果: <?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 图标切换、限制输入长度)

    效果演示 密码显示与隐藏 方法一 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中实现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 实现密码输入框动态明文/密文切换显示效果

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

  • 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密码的隐藏和显示功能

    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实现动态显示或隐藏密码输入框的内容

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

  • 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

  • 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一手. 然而我得到的结果是这样

  • Android ViewPager撤消左右滑动切换功能实现代码

    最近做项目要求某种情况下ViewPager不能滑动,那么我们只需要重写这个方法就可以禁止ViewPager滑动.下面通过本文给大家ViewPager取消左右滑动切换功能的实例代码,具体代码如下所示: IndexViewPager.Java: <span style="background-color: rgb(255, 255, 255);">import android.content.Context; import android.support.v4.view.Vie

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

    我们还是接着我们上一篇博客中的内容往下讲哈,上一节 Android手势密码view笔记(一)我们已经实现了我们的IndicatorView指示器view了: 下面我们来实现下我们的手势密码view: 实现思路: 1.我们照样需要拿到用户需要显示的一些属性(行.列.选中的图片.未选中的图片.错误显示的图片.连接线的宽度跟颜色......). 2.我们需要根据手势的变换然后需要判断当前手指位置是不是在某个点中,在的话就把该点设置为选中状态,然后每移动到两个点(也就是一个线段)就记录该两个点. 3.最

随机推荐

其他