1. 结果
2.具体操作如图
代码是图中指向的一个小眼睛的点击事件
2.1isChanged 初始化
boolean isChanged = false;
2.2内部点击事件
invisible_default_icon
这个是默认的隐藏资源文件,就是眼睛闭起来的样式,invisible_highlight_icon
这个是眼睛睁开的样式
show_hidden.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v == show_hidden) {
if (isChanged) {
show_hidden.setImageDrawable(getResources().getDrawable(R.mipmap.invisible_default_icon));
// 隐藏密码
et_password.setTransformationMethod(PasswordTransformationMethod.getInstance());
} else {
show_hidden.setImageDrawable(getResources().getDrawable(R.mipmap.invisible_highlight_icon));
//显示密码
et_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}
isChanged = !isChanged;
}
}
});
2.3布局文件
invisible_default_icon
,password_icon
是我自己的图片,你需要自己替换成自己的
android:inputType="textPassword"
这一行是默认显示小圆点
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginTop="30dp"
android:layout_marginRight="30dp"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:padding="7dp"
android:src="@mipmap/password_icon"></ImageView>
<EditText
android:id="@+id/et_password"
android:inputType="textPassword"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_weight="1"></EditText>
<ImageView
android:id="@+id/show_hidden"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@mipmap/invisible_default_icon"></ImageView>
</LinearLayout>