【android -Edit文本背景在TextInputLayout错误上变红】春衣少年当酒歌,起舞四顾以笑和。这篇文章主要讲述android -Edit文本背景在TextInputLayout错误上变红相关的知识,希望能为你提供帮助。
这是一个非常奇怪的问题,这是我的代码:
<
android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pass"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginTop="10dp"
android:layoutDirection="rtl"
android:src="https://www.songbingjia.com/android/@drawable/ic_https_grey600_18dp"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
<
EditText
android:id="@+id/password"
style="@style/edittexts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_https_grey600_18dp"
android:drawableStart="@drawable/ic_https_grey600_18dp"
android:hint="??? ????"
android:gravity="right|center_vertical"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:transformPivotX="10dp"
app:passwordToggleEnabled="true" />
<
/android.support.design.widget.TextInputLayout>
我在我的登录过程中使用TextInputLayout,这是我的java代码:
pass_l.setErrorEnabled(真); pass_l.setError(的getString(R.string.wrong_pass));
当它显示错误时,编辑文本的背景变为红色并且它不会在它下面显示错误,有些事情如下:
文章图片
我该如何解决这个问题?我不希望edittext改变背景颜色,只是像往常一样在editext下面显示错误
答案
<
android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pass"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginTop="10dp"
android:layoutDirection="rtl"
android:theme="@style/TextLabel"
android:src="https://www.songbingjia.com/android/@drawable/ic_https_grey600_18dp"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
<
EditText
android:id="@+id/password"
style="@style/edittexts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_https_grey600_18dp"
android:drawableStart="@drawable/ic_https_grey600_18dp"
android:hint="??? ????"
android:gravity="right|center_vertical"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:transformPivotX="10dp"
app:passwordToggleEnabled="true" />
<
/android.support.design.widget.TextInputLayout>
<
style name="TextLabel" parent="TextAppearance.AppCompat">
<
!-- Hint color and label color in FALSE state -->
<
item name="android:textColorHint">
@color/Color Name<
/item>
<
item name="android:textSize">
20sp<
/item>
<
!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<
item name="colorAccent">
@color/Color Name<
/item>
<
item name="colorControlNormal">
@color/Color Name<
/item>
<
item name="colorControlActivated">
@color/Color Name<
/item>
<
/style>
你可以这样试试。
另一答案问题在于你的风格=“@ style / edittexts”。请分享它的源代码。它必须在这种风格中设置为红色。
另一答案你可以在textInputLayout标签中使用它:
app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorAppearance"
例如:
<
android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pass"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginTop="10dp"
android:layoutDirection="rtl"
android:src="https://www.songbingjia.com/android/@drawable/ic_https_grey600_18dp"
app:hintEnabled="false"
app:passwordToggleEnabled="true"
app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorAppearance">
<
android.support.v7.widget.AppCompatEditText
android:id="@+id/password"
style="@style/FormStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_https_grey600_18dp"
android:drawableStart="@drawable/ic_https_grey600_18dp"
android:hint="??? ????"
android:gravity="right|center_vertical"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:transformPivotX="10dp"
app:passwordToggleEnabled="true" />
<
/android.support.design.widget.TextInputLayout>
在styles.xml中添加ErrorAppearance和FormStyle
<
style name="ErrorAppearance" parent="@android:style/TextAppearance">
<
item name="android:textColor">
@color/textError<
/item>
<
item name="android:textSize">
@dimen/font_small<
/item>
<
/style>
<
style name="FormStyle">
<
item name="android:maxLines">
1<
/item>
<
item name="android:drawablePadding">
@dimen/spacing_small<
/item>
<
item name="android:textColor">
@color/textHint<
/item>
<
/style>
在活动验证后,您可以:
pass_l.setError(getString(R.string.wrong_pass));
推荐阅读
- android.widget.RelativeLayout无法强制转换为android.widget.EditText
- 使用Thales nShield HSM的PKCS11interop c#wrapper库导出/导入RSA密钥对()
- 运行测试后销毁App组件
- 带有自定义图标的applescript显示对话框
- 无法添加窗口 - 令牌android.os.BinderProxy@42824无效;你的活动在运行吗()
- 如何在Symfony 3中使用SnappyBundle(wkhtmltopdf)从HTML创建PDF
- PHPMyAdmin MySQL错误(列”mycolumnname”不能为FULLTEXT索引的一部分)
- 如何自动在PHP中轻松生成带有logo的QR代码
- 使用Symfony 3中的套接字使用PHP创建不可知的实时聊天