android 登录密码显示与隐藏

界面:

界面根据自己的情况编写,此处只做参考:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/login_edit_bg_selector"
    android:layout_marginLeft="60dp"
    android:layout_marginRight="60dp"
    android:layout_marginTop="@dimen/px10"
    android:orientation="horizontal">
    <EditText
        android:id="@+id/login_password"     
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
android:layout_weight="1"  
	android:paddingLeft="@dimen/px10"        
	android:paddingTop="@dimen/px10"        
	android:paddingBottom="@dimen/px10"        
	android:singleLine="true"        
	android:textColor="@color/text_first_color"        
	android:textCursorDrawable="@null"        
	android:background="@null"        
	android:inputType="textPassword"/>    
	<ImageView        
	android:id="@+id/show_password"        
	android:layout_width="@dimen/px25"        
	android:layout_height="@dimen/px20"        
	android:background="@drawable/cjiao"        
	android:layout_margin="@dimen/px5"        
	android:layout_gravity="center_vertical"/>
</LinearLayout>

代码:

初始化控件之后

//显示明文密码
show_password.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if (!mbDisplayFlg) {
            et_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
            show_password.setBackgroundResource(R.drawable.gzhu);
        } else {
            et_password.setTransformationMethod(PasswordTransformationMethod.getInstance());
            show_password.setBackgroundResource(R.drawable.cjiao);
        }
        mbDisplayFlg = !mbDisplayFlg;
        et_password.postInvalidate();

        //切换后将EditText光标置于末尾
        CharSequence charSequence = et_password.getText();
        if (charSequence instanceof Spannable) {
            Spannable spanText = (Spannable) charSequence;
            Selection.setSelection(spanText, charSequence.length());
        }
    }
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉淀的沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值