gpt4 book ai didi

android - 如果我使用 passwordToggleEnabled (EditText),我的 drawableLeft 就会消失

转载 作者:数据小太阳 更新时间:2023-10-29 02:23:22 25 4
gpt4 key购买 nike

我想在我的应用程序中使用漂亮的 EditText,我会使用 DrawableLeft 在每个输入上添加简单的图标。一切正常,但在 EditText“密码”上,我添加了 passwordToggleEnabled(如果用户单击眼睛,则可以看到输入)。添加这个会使我的 drawableLeft 消失。

你有想法吗? (抱歉我的英语不好 :-/)

Capture with drawable left

Capture with password eye

这是我的 TextInputLayout :

<android.support.design.widget.TextInputLayout
android:id="@+id/textInputPassword"
android:layout_width="300dp"
android:layout_height="60dp"
android:layout_marginTop="16dp"
android:theme="@style/EditTextHint"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textInputEmail">

<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:backgroundTint="@color/shapy_blue"
android:drawablePadding="10dp"
android:drawableStart="@mipmap/picto_password_blue"
android:ems="10"
android:hint="@string/enter_password"
android:inputType="textPassword"
android:textColor="@color/shapy_blue"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.478"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.459" />

</android.support.design.widget.TextInputLayout>

编辑 >> 当我在 Java 中更改可绘制颜色时,(在 Focus 监听器上)

@Override
public void onFocusChange(View view, boolean b) {
if(view == editTextEmail){
editTextEmail.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.picto_mail_white,0,0,0);
editTextEmail.setTextColor(getResources().getColor(R.color.white));
} else {
editTextEmail.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.picto_mail_blue,0,0,0);
editTextEmail.setTextColor(getResources().getColor(R.color.shapy_blue));
}
if(view == editTextPasswordLogin){
editTextPasswordLogin.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.picto_password_white,0,0,0);
editTextPasswordLogin.setTextColor(getResources().getColor(R.color.white));
} else {
editTextPasswordLogin.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.picto_password_blue,0,0,0);
editTextPasswordLogin.setTextColor(getResources().getColor(R.color.shapy_blue));
}

}

最佳答案

使用

android:drawableStart="@drawable/ic_password" 

在带有 drawableLeft 的 EditText 中

这是我的示例代码

                    <android.support.design.widget.TextInputLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:passwordToggleDrawable="@drawable/show_password_selector"
app:passwordToggleEnabled="true"
android:orientation="vertical">
<android.support.v7.widget.AppCompatEditText
android:layout_width="180dp"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:drawableLeft="@drawable/ic_password"
android:drawableStart="@drawable/ic_password"
android:hint="Password"/>
</android.support.design.widget.TextInputLayout>

关于android - 如果我使用 passwordToggleEnabled (EditText),我的 drawableLeft 就会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49753098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com