版权声明:本文为HaiyuKing原创文章,转载请注明出处!android
前言
记录输入框显示、隐藏密码的简单布局以及实现方式。windows
效果图
代码分析
方式一app
/**方式一:*/
private voidshowOrHiddenPwd(){
if(!showPwd){
showPwd = true;
img_pwdshow.setImageResource(R.drawable.pwd_show);
//显示密码
edt_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}else{
showPwd = false; img_pwdshow.setImageResource(R.drawable.pwd_hidden); //隐藏密码 edt_password.setTransformationMethod(PasswordTransformationMethod.getInstance()); } }
方式二ide
/**方式二:*/
private voidshowOrHiddenPwdWithInputType(){
if(!showPwd){
showPwd = true;
img_pwdshow.setImageResource(R.drawable.pwd_show);
//显示密码
edt_password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
}else{
showPwd = false; img_pwdshow.setImageResource(R.drawable.pwd_hidden); //隐藏密码 edt_password.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD); } }
使用步骤
1、项目组织结构图
注意事项:布局
一、 导入类文件后须要change包名以及从新import R文件路径spa
二、 Values目录下的文件(strings.xml、dimens.xml、colors.xml等),若是项目中存在,则复制里面的内容,不要整个覆盖.net
2、导入步骤
将comm_input_selector.xml复制到项目中【原本是想做为输入框的背景框,就会实现输入框获取焦点的时候边框变色,可是如今做为LinearLayout的背景,能够实现聚焦的时候变色的效果】
将图片资源复制到项目中【根据实际状况变动】
3、使用方法
布局文件
/>
Activity中使用
packagecom.why.project.androidcnblogsdemo.activity;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.text.InputType;importandroid.text.method.HideReturnsTransformationMethod;importandroid.text.method.PasswordTransformationMethod;importandroid.view.View;importandroid.widget.EditText;importandroid.widget.ImageView;importcom.why.project.androidcnblogsdemo.R;/*** Android中EditText显示明文与密文的两种方式*/
public class MainActivity extendsAppCompatActivity {privateEditText edt_password;privateImageView img_pwdshow;private boolean showPwd = false;//默认不显示密码
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
initEvents();
}private voidinitViews() {
edt_password=(EditText) findViewById(R.id.edt_password);
img_pwdshow=(ImageView) findViewById(R.id.img_pwdshow);
}private voidinitEvents() {
img_pwdshow.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View v) {
showOrHiddenPwdWithInputType();
}
});
}/**方式一:*/
private voidshowOrHiddenPwd(){if(!showPwd){
showPwd= true;
img_pwdshow.setImageResource(R.drawable.pwd_show);//显示密码
edt_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}else{
showPwd= false;
img_pwdshow.setImageResource(R.drawable.pwd_hidden);//隐藏密码
edt_password.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}/**方式二:*/
private voidshowOrHiddenPwdWithInputType(){if(!showPwd){
showPwd= true;
img_pwdshow.setImageResource(R.drawable.pwd_show);//显示密码
edt_password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
}else{
showPwd= false;
img_pwdshow.setImageResource(R.drawable.pwd_hidden);//隐藏密码
edt_password.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
}
}
混淆配置
无3d
参考资料
项目demo下载地址
暂时空缺