直播平臺原始碼,Android實現密碼顯示與隱藏

zhibo系統開發發表於2022-06-10

直播平臺原始碼,Android實現密碼顯示與隱藏

1.1 密碼框佈局

        <!-- 密碼框 -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <!-- 編輯框 -->
                <EditText
                    android:id="@+id/login_pwd"
                    android:layout_width="match_parent"
                    android:layout_height="44dp"
                    android:layout_centerInParent="true"
                    android:hint="請輸入密碼"
                    android:inputType="textPassword"
                    android:maxLines="1"
                    android:paddingLeft="16dp"
                    android:textSize="16sp" />
                <!-- 密碼顯示“眼睛”圖示” -->
                <ImageView
                    android:id="@+id/login_is_show_pwd"
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:layout_alignParentRight="true"
                    android:layout_margin="10dp" />
            </RelativeLayout>
        </LinearLayout>


1.2 Java邏輯

1.2.1 完整程式碼 

(1)在LoginActivity類中定義一個變數isHide,用於判斷密碼是否需要隱藏,預設為false,即不隱藏;

private boolean isHide = false;  //輸入框密碼是否是隱藏,預設為false

(2)定義ImageView的點選響應函式isShowPassword();

    private void isShowPassword() {
        if(isHide == false) {
            //R.mipmap.password_show是表示顯示密碼的“眼睛”圖示
            isPwdShowIv.setImageResource(R.mipmap.password_show);
            //密文
            HideReturnsTransformationMethod method1 = HideReturnsTransformationMethod.getInstance();
            pwdEt.setTransformationMethod(method1);
            isHide = true;
        } else {
            //R.mipmap.password_miss是表示隱藏密碼的“眼睛+斜槓”圖示
            isPwdShowIv.setImageResource(R.mipmap.password_miss);
            //密文
            TransformationMethod method2 = PasswordTransformationMethod.getInstance();
            pwdEt.setTransformationMethod(method2);
            isHide = false;
        }
        //重置游標位置
        int index = pwdEt.getText().toString().length();
        pwdEt.setSelection(index) ;
    }


注:其中的“顯示密碼”圖示和“隱藏密碼”圖示可以在iconfont向量庫 中下載

(3)在LoginActivity類的onCreate()方法中設定 “顯示密碼” 按鈕的監聽器,程式碼如下:

isPwdShowIv = findViewById(R.id.login_is_show_pwd);
isPwdShowIv.setOnClickListener(this);
//設定ImageView的初始圖示為“眼睛”,表示“顯示密碼”
isPwdShowIv.setImageResource(R.mipmap.password_miss);

(4)讓LoginActivity類實現View.OnClickListener介面,並在onClick()函式中呼叫ImageView的點選響應函式;

//LoginActivity類實現View.OnClickListener介面
public class LoginActivity extends BaseActivity implements View.OnClickListener
 
//在onClick()函式中呼叫ImageView的點選響應函式;
case R.id.login_is_show_pwd: isShowPassword(); break;


以上就是直播平臺原始碼,Android實現密碼顯示與隱藏, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2899866/,如需轉載,請註明出處,否則將追究法律責任。

相關文章