Android TextInputLayout PasswordToggle 不工作

Android TextInputLayout PasswordToggle Not Working

我在使用 app:passwordToggleEnabled="true" 显示密码时遇到问题。 我正在使用 Material 设计,我有 support:design 和 material 设计的依赖项,我什至尝试过 endIcon password_toggle。但是当我点击切换按钮时,它根本不起作用。

我的布局如下:

<com.google.android.material.textfield.TextInputLayout
            android:id="@+id/loginPasswordLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
            app:boxStrokeColor="@color/black"
            app:hintTextColor="@color/black"
            app:boxStrokeWidthFocused="2dp"
            android:hint="@string/password"
            app:startIconDrawable="@drawable/lock_2"
            app:startIconTint="@color/black"
            app:passwordToggleEnabled="true"
            app:passwordToggleTint="@color/black">
            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginRight="10dp"
                android:layout_marginLeft="10dp"
                android:elevation="20dp"
                android:background="@color/transparentWhite"
                android:inputType="textPassword"
                android:ems="15"/>
        </com.google.android.material.textfield.TextInputLayout>

谢谢。

android:elevation 属性不适合 TextInputEditText,您需要将其删除才能正常工作。

删除后android:elevation="20dp"

<com.google.android.material.textfield.TextInputLayout
        android:id="@+id/loginPasswordLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
        app:boxStrokeColor="@color/black"
        app:hintTextColor="@color/black"
        app:boxStrokeWidthFocused="2dp"
        android:hint="@string/password"
        app:startIconDrawable="@drawable/lock_2"
        app:startIconTint="@color/black"
        app:passwordToggleEnabled="true"
        app:passwordToggleTint="@color/black">
        <com.google.android.material.textfield.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginRight="10dp"
            android:layout_marginLeft="10dp"
            android:background="@color/transparentWhite"
            android:inputType="textPassword"
            android:ems="15"/>
</com.google.android.material.textfield.TextInputLayout>