我正在使用android设计库的TextinputLayout。但无法在TextinputLayout中自定义EditText的下划线颜色。请帮忙。
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pincode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/input_layout_city"
android:layout_marginTop="@dimen/_10sdp"
android:textColorHint="#000000"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<EditText
android:id="@+id/input_pincode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Pincode*"
android:textSize="@dimen/_13sdp" />
</android.support.design.widget.TextInputLayout>
<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/black</item>
<item name="android:textSize">@dimen/_13sdp</item>
<item name="colorControlNormal">@color/black</item>
</style>
答案 0 :(得分:12)
将此样式添加到styles.xml文件中:
<style name="TextLabel" parent="TextAppearance.AppCompat">
<!-- Hint color and label color in FALSE state -->
<item name="android:textColorHint">#fff</item>
<item name="android:textSize">20sp</item>
<!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<item name="colorAccent">@color/colorPrimaryDark</item>
<item name="colorControlNormal">#e34b1c</item>
<item name="colorControlActivated">#e34b1c</item>
</style>
然后将'TextLabel'主题添加到textinputlayout,如下所示
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pincode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/input_layout_city"
android:layout_marginTop="@dimen/_10sdp"
android:textColorHint="#000000"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"
android:theme="@style/TextLabel">
...
在styles.xml中使用您想要的颜色。
答案 1 :(得分:7)
使用TextAppearence.App.TextInputLayout
样式,您需要添加colorControlActivated
和colorControlHighlight
。
<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/black</item>
<item name="android:textSize">@dimen/_13sdp</item>
<item name="colorControlNormal">@color/black</item>
//added attributes
<item name="colorControlActivated">@color/colorPrimary</item>
<item name="colorControlHighlight">@color/colorPrimary</item>
</style>
<强>编辑:强>
您可以删除colorControlHighlight
。在你的情况下,没有必要。 colorControlHightlight
用于在纹波,选定列表等上应用颜色。
您可以参考@GaëtanMaisse回答here。
答案 2 :(得分:-1)
您应该尝试更改
<color name="colorAccent">#YOURCOLOR</color>
Google Material Design始终引用此颜色,以便为“动作”提供相同的颜色