如何使用passwordToggleEnabled在AppCompatEditText中显示左侧drawable?

时间:2017-07-07 18:01:11

标签: android android-layout android-edittext

添加passwordToggleEnabled =" true"我有一个AppCompatEditText我的左边可绘的消息。可能是什么原因?

密码EditText代码:

<android.support.design.widget.TextInputLayout
        app:passwordToggleEnabled="true"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        app:hintEnabled="false"
        app:passwordToggleEnabled="true">
            <android.support.v7.widget.AppCompatEditText
                android:id="@+id/input_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawablePadding="20dp"
                android:inputType="textPassword"
                android:hint="@string/password_hint"
                android:paddingLeft="15dp"
                android:theme="@style/EditTextTheme"/>
</android.support.design.widget.TextInputLayout>

EditText可绘制代码:

_passwordEditText.setCompoundDrawablesWithIntrinsicBounds(passwordIcon, null, null, null);

使用app:passwordToggleEnabled =&#34; true&#34; :

enter image description here

没有它:

enter image description here

编辑:我可以在顶部和底部设置drawable,但它不适用于左右。

1 个答案:

答案 0 :(得分:0)

尝试这个,而不是将null设置为现有的drawable,获取drawable并在左侧设置你的。

Drawable[] drawables = _passwordEditText.getCompoundDrawables();

_passwordEditText.setCompoundDrawablesWithIntrinsicBounds(passwordIcon, drawables[1], drawables[2], drawables[3]);

(来源:示例“自定义编辑文本中的图标或按钮及其操作和单击侦听器”来自Stack Overflow Documentation;版权所有2017 Muthukrishnan Rajendran;根据CC BY-SA 3.0获得许可。{{{ 3}}可以在archive.org找到,其中该示例由主题ID 5843和示例ID 32126索引。)