我在edittext周围使用TextInputLayout来显示提示和错误。提示正如预期的那样工作得很好,但是在TextInputLayout上使用setError时,整个edittext都变为前景色。我只想让底部的高光线变成彩色而不是整个盒子。目前的行为如下:
我在布局中如何使用它的代码如下:
<android.support.design.widget.TextInputLayout
android:id="@+id/inputLoginEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/TextLabel">
<EditText
android:id="@+id/etLoginEmail"
style="@style/EditTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/text_email_address"
android:imeOptions="actionNext"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
使用的样式如下:
<style name="TextLabel" parent="Widget.Design.TextInputLayout">
<item name="android:textColorHint">@color/COLOR</item>
<item name="android:textSize">@dimen/font_larger</item>
<item name="colorAccent">@color/COLOR</item>
<item name="colorControlNormal">@color/COLOR</item>
<item name="colorControlActivated">@color/COLOR</item>
</style>
EditTextStyle:
<style name="EditTextStyle">
<item name="android:textSize">@dimen/font_normal</item>
<item name="android:textColor">@color/grey_text</item>
<item name="android:fontFamily">@font/gotham_book</item>
<item name="android:paddingBottom">@dimen/spacing_normal</item>
<item name="android:paddingTop">@dimen/spacing_normal</item>
<item name="android:background">@drawable/edittext_background</item>
</style>
edittext_background.xml
<?xml version="1.0" encoding="utf-8"?>
<item>
<shape>
<solid android:color="@color/grey_edittext_line" />
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="#FFFFFF" />
</shape>
</item>
如何删除此前景色并仅在密码行的1dp上获取颜色?