您的位置:首页 > 移动开发 > Android开发

android 登录密码显示与隐藏

2016-04-06 11:32 447 查看
界面:

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

<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());
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: