Как установить DrawableLeft в EditText с PasswordToggleEnabled
Я сделал TextInputEditText
для PasswordField
с DrawableLeft
как значок, а затем я добавил PasswordToggleEnabled(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>
итак, можно ли показать оба (PasswordToggle
а также DrawableLeft
?) благодарю вас!
1 ответ
Я не видел такого точного поведения раньше, но, глядя на источник TextInputLayout
, он пытается сохранить заданные пользователем элементы рисования, когда применяет заполнитель, рисуемый для переключения пароля. Однако, как и все остальное в библиотеках поддержки, к которым он применим, он обрабатывает их с относительными позициями - т.е. start
а также end
- а не абсолютный - left
а также right
,
Поддерживающие библиотеки всегда славились тем, что ломали все, что указывало на абсолютные направления или позиции, поэтому неудивительно, что в этом и проблема.
Просто измените атрибут, который вы устанавливаете drawableStart
, вместо drawableLeft
, Имейте это в виду и для всего, что связано с выбором абсолютных или относительных положений и направлений в библиотеках поддержки.