1. 程式人生 > 其它 >Android:EditText密碼的顯示和隱藏

Android:EditText密碼的顯示和隱藏

技術標籤:androidandroid

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_iconpassword_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>