如何使用PasswordToggleEnabled将DrawableLeft设置为EditText

Tam*_*afi 3 java android android-edittext android-studio android-design-library

我用a 作为图标制作了TextInputEditTexta ,然后添加了..此操作已删除或隐藏了我的代码,这是我的代码:PasswordFieldDrawableLeftPasswordToggleEnabled(true)DrawableLeft

<android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:passwordToggleContentDescription="Show Password"
        app:passwordToggleEnabled="true"
        app:hintEnabled="false"
        android:id="@+id/signupPasswordlayout"
        app:passwordToggleTint="@color/edittexttint">
        <android.support.design.widget.TextInputEditText
            android:hint="Password"
            android:id="@+id/signupPassword"
            android:drawableLeft="@drawable/ic_password"
            android:drawablePadding="10dp"
            android:inputType="textPassword"
            android:drawableTint="@color/edittexttint"
            android:textSize="15sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

因此,是否可以同时显示(PasswordToggleDrawableLeft?)谢谢!

Mik*_* M. 6

我之前没有看到过这种确切的行为,但是在查看的源代码时TextInputLayout,它确实尝试在将占位符drawable应用于密码切换时保留用户设置的drawable。但是,就像支持库中适用的所有其他内容一样,它以相对位置(即startend-而不是绝对值- left和)处理它们right

支持库一向以破坏任何指定绝对方向或位置的东西而臭名昭著,因此这也就不足为奇了。

只需将您要设置的属性更改drawableStart为即可drawableLeft。对于支持库中涉及绝对或相对位置和方向的其他选择,也请记住这一点。