登录密码显示设置

设置EditText的文本显示方式(明文/暗文),有3种方法,可以直接在xml文件中设置inputType属性,也可以在代码中调用editText的setTransformation(),或者setInputType()方法进行设置。

在Xml文件中:

<EditText
    android:id="@+id/et_password"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:inputType="textPassword"/> //以密码显示,隐藏密码
在代码中:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.widget.EditText;
import android.widget.TextView;

import com.anyanyan.vmoive.R;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class PasswordActivity extends AppCompatActivity {

    @BindView(R.id.et_password)
    EditText mEtPassword;
    @BindView(R.id.tv_psd_state)
    TextView mTvPsdState;

    private static final String PSD_STATE_HIDE = "hide";
    private static final String PSD_STATE_SHOW = "show";
    private boolean isHide = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_password);
        ButterKnife.bind(this);
        initView();
    }

    //设置默认以密码暗文格式显示
    private void initView() {
        mEtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
        mTvPsdState.setText(PSD_STATE_SHOW);
        //第二种方法:
        // mEtPassword.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);//隐藏密码
        // mEtPassword.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//显示密码
    }

    //点击右侧的textView改变显示密码显示样式
    @OnClick(R.id.tv_psd_state)
    public void setPsdState() {
        if (isHide) {
            //显示密码
            mEtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
            mTvPsdState.setText(PSD_STATE_HIDE);
            isHide = false;
        } else {
            //隐藏密码
            mEtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
            mTvPsdState.setText(PSD_STATE_SHOW);
            isHide = true;
        }
    }

}
附加:当EditText和TextView没有文本内容时,调用editText.getText().toString或者textView.getText().toString()方法不会空指针异常,返回""空字符串,因为源码中有默认初始值为""。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值