美文网首页
Android EditText动态控制显示和隐藏密码

Android EditText动态控制显示和隐藏密码

作者: hao_developer | 来源:发表于2020-01-13 17:33 被阅读0次
image.png

布局输入框部分关键代码:

  <LinearLayout style="@style/InputPanel"
                  android:layout_marginTop="5dp">
        <ImageView android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/icon_menu_lock"/>
        <EditText android:id="@+id/password_et"
                  android:layout_width="0dp"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:hint="@string/input_new_password"
                  style="@style/InputEdit.TextPassword"
                  android:background="@null"
                  android:layout_marginLeft="10dp"/>
        <ImageView android:id="@+id/eye_btn"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/icon_menu_eye"/>
    </LinearLayout>

Activity中控制代码:

void onEyeBtnClick() {
        TransformationMethod method = passwordEt.getTransformationMethod();
        if (method == HideReturnsTransformationMethod.getInstance()) {
            passwordEt.setTransformationMethod(PasswordTransformationMethod.getInstance());
        } else {
            passwordEt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
        }
       // 保证切换后光标位于文本末尾
        Spannable spanText = passwordEt.getText();
        if (spanText != null) {
            Selection.setSelection(spanText, spanText.length());
        }
 }

相关文章

网友评论

      本文标题:Android EditText动态控制显示和隐藏密码

      本文链接:https://www.haomeiwen.com/subject/qornactx.html