gpt4 book ai didi

具有自定义背景的 android textInputEditText 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 01:08:56 24 4
gpt4 key购买 nike

我在 textInputLayout 中使用 textInputEditText我必须为我的 editText 设置背景才能为我的 editText 实现带边框的 View 。但是当我在 textInputLayout 上调用 setError() 时,整个 editText 颜色变为红色。但我只想更改错误文本的颜色,而不是整个 View 。

设置错误前:

screen shot

设置错误后:

screen shot

这是我的 xml 代码:

<android.support.design.widget.TextInputLayout
android:layout_alignParentTop="true"
android:id="@+id/ex_pass_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleEnabled="false"
android:gravity="right">
<android.support.design.widget.TextInputEditText
android:id="@+id/ex_pass_et"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:hint="رمز عبور فعلی"
android:inputType="textPassword"
android:textColor="#000"
android:textSize="15sp"
android:gravity="right|center"
android:background="@drawable/edittext_bg"
android:padding="8dp"
/>
</android.support.design.widget.TextInputLayout>

请帮帮我,我做错了什么?

最佳答案

我通过扩展 TextInputLayout 和覆盖一些方法来解决这个问题

public class CustomTextInputLayout extends TextInputLayout {

public CustomTextInputLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}



@Override
public void setError(@Nullable CharSequence error) {
super.setError(error);
try {
EditText et = getEditText();
Drawable editTextBackground = et.getBackground();
editTextBackground.clearColorFilter();

}catch (Exception e){
e.printStackTrace();
}
}

@Override
protected void drawableStateChanged() {
super.drawableStateChanged();
try {
EditText et = getEditText();
Drawable editTextBackground = et.getBackground();
editTextBackground.clearColorFilter();

}catch (Exception e){
e.printStackTrace();
}
}
}

关于具有自定义背景的 android textInputEditText 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44741574/

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