更改 TextInputLayout 的下划线颜色和浮动提示颜色
Change underline color and floating hint color of TextInputLayout
我在我的 TextInputLayout
主题中使用上面的 属性 来使 TextInputLayout
激活时的绿色下划线颜色。
<item name="colorControlActivated">#27e905</item>
它工作正常,我得到以下结果
但是如您所见colorControlActivated
也会影响浮动提示颜色。我需要不同颜色的浮动提示。有什么办法吗?
在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
2021 年更新
您可以使用该属性来控制下划线颜色
app:boxStrokeColor="@color/green"
我在我的 TextInputLayout
主题中使用上面的 属性 来使 TextInputLayout
激活时的绿色下划线颜色。
<item name="colorControlActivated">#27e905</item>
它工作正常,我得到以下结果
但是如您所见colorControlActivated
也会影响浮动提示颜色。我需要不同颜色的浮动提示。有什么办法吗?
在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
2021 年更新
您可以使用该属性来控制下划线颜色
app:boxStrokeColor="@color/green"