Android 注册页面 设置显示或者隐藏密码 和 点击获取验证码倒计时60s

来源:互联网 发布:java中的垃圾回收机制 编辑:程序博客网 时间:2024/05/18 01:57

在Android开发时候 肯定遇到注册输入密码 、验证码之类的问题

用户登录或者是注册页面肯定都有输入密码的小框框

这时候就需要用到  显示或者隐藏密码了

验证码稍微复杂一点  需要点击后背景变灰  字也变成了倒计时  

话不多说  直接代码

xml文件

<EditText    android:password="true"    android:maxLength="16"    android:inputType="textPassword"    android:id="@+id/set_password"    android:layout_width="match_parent"    android:layout_height="80px"    android:layout_marginTop="20px"    android:background="@color/colorWhite"    /><CheckBox    android:id="@+id/checkBox1"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="显示密码"    android:textSize="24px"/>

android:password="true"//这个属性是让输入的密码不可见。。。但是这个属性已经过时了

android:inputType="textPassword"//这个属性才是正确用运

下面是逻辑代码

EditText password = (EditText) findViewById(R.id.set_password);
checkBox = (CheckBox) findViewById(R.id.checkBox1);

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {    @Override    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        if (isChecked) {            //如果选中,显示密码            password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());        } else {            //否则隐藏密码            password.setTransformationMethod(PasswordTransformationMethod.getInstance());        }    }});

这个方法就搞定哦

下面是获取验证码倒计时

直接上代码  xml文件
    <EditText    android:maxLength="6"    android:layout_weight="2"    android:id="@+id/verification"    android:layout_width="0dp"    android:layout_height="match_parent"    android:background="@color/colorWhite"/>    <TextView        android:gravity="center"        android:id="@+id/send_verification"        android:textColor="@android:color/white"        android:background="@mipmap/yanzhengcodepressbutton"        android:text="@string/send_verification"        android:textSize="26px"        android:layout_weight="1"        android:layout_width="0dp"        android:layout_height="match_parent" />
逻辑代码
EditText verification = (EditText) findViewById(R.id.verification);
TextView sendVerification = (TextView) findViewById(R.id.send_verification);
String verifications = verification.getText().toString();
private Boolean flag = true;
if (flag == true) {//点进来时候判断是否 能够点击    flag=false;    sendVerification.setEnabled(false);//倒计时结束前不让点击    //按键背景颜色变灰    sendVerification.setBackgroundResource(R.color.light_grey);    //倒计时我在这里倒计时60s    final CountDownTimer timer = new CountDownTimer(60000, 1000) {        @Override        public void onTick(long millisUntilFinished) {            //替换按钮上的字            sendVerification.setText(millisUntilFinished / 1000 + "秒重新发送");        }        @Override        public void onFinish() {//倒计时结束时候            //给按钮的字换回来            sendVerification.setText("发送验证码");            //背景也换回来            sendVerification.setBackgroundResource(R.mipmap.yanzhengcodepressbutton);            flag = true;//标记变为可用状态            sendVerification.setEnabled(true);//按钮可点击了        }    }.start();
}
好了  是不是特别的简单

觉得不错的帮忙点个赞  谢谢





0 0
原创粉丝点击