我在我的
TextInputLayout
主题中使用上述属性,使 TextInputLayout
激活时的下划线颜色为绿色。
<item name="colorControlActivated">#27e905</item>
它工作正常,我得到以下结果
但是正如您所看到的
colorControlActivated
也会影响浮动提示颜色。我需要不同的颜色来显示浮动提示。有什么办法可以做到吗?
2021 年更新
可以使用该属性来控制下划线颜色
app:boxStrokeColor="@color/green"
在 styles.xml 中添加这些样式
<style name="textInputLayout.GrayLabel"
parent="Widget.Design.TextInputLayout">
<item name="hintTextAppearance">@style/AppTheme.TextFloatLabelAppearance</item>
</style>
<style name="AppTheme.TextFloatLabelAppearance"
parent="TextAppearance.Design.Hint">
<!-- Floating label appearance here -->
<item name="android:textColor">@color/YOUR_COLOR</item>
<item name="android:textSize">@dimen/YOUR_TEXT_SIZE</item>
</style>
并像这样使用它:-
<android.support.design.widget.TextInputLayout
style="@style/textInputLayout.GrayLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen_8dp">
如果您想更改 TextInputLayout 的提示颜色,只需创建此样式:
<style name="style">
<item name="colorAccent">your_color</item>
</style>
然后
<android.support.design.widget.TextInputLayout
...
app:theme="@style/style" />
您可以在 style.xml 中使用这些样式
<style name="myHintText" parent="TextAppearance.AppCompat">
<item name="android:textColor">@color/YOUR_COLOR</item>
<item name="android:textSize">13sp</item>
<item name="android:textColorHint">@color/YOUR_COLOR</item>
<item name="android:colorControlHighlight">@color/YOUR_COLOR</item>
</style>
注意 需要最低 API 级别 21
对于未聚焦的底线颜色,请使用
<color name="mtrl_textinput_default_box_stroke_color" tools:override="true">#673AB7</color>
在你的colors.xml或style.xml文件中
您还需要将
xmlns:tools="http://schemas.android.com/tools"
放入您的父根标签中。