android - 如何改变 Material TextInputLayout OutlinedBox unfocused Color

标签 android material-design android-textinputlayout

我有一个 OutlinedBox TextInputLayout,我想在 editText 的未聚焦模式下更改框颜色。

我该怎么做?

enter image description here

最佳答案

在主题中添加colorOnSurface属性并分配你想要的任何颜色

<style name="Apptheme"
       parent="Theme.MaterialComponents.Light.NoActionBar">
    <!-- General theme colors -->
    <item name="colorPrimary">@color/material_green_500</item>
    <item name="colorSecondary">@color/material_green_600</item>
    <item name="colorAccent">@color/illiniColorAccent</item>

    <item name="colorOnSurface">@color/blue</item><!--inputtext unfocused color-->
</style>

结果是: enter image description here 此外,colorPrimary 是聚焦状态的颜色。

您可以自定义的其他属性是:

<item name="enforceMaterialTheme">true</item>
<item name="enforceTextAppearance">true</item>

<item name="boxBackgroundMode">outline</item>
<item name="boxBackgroundColor">@null</item>
<item name="endIconTint">@color/mtrl_outline_end_icon_tint</item>
<item name="boxCollapsedPaddingTop">0dp</item>
<item name="boxCornerRadiusTopStart">@dimen/mtrl_textinput_box_corner_radius_medium</item>
<item name="boxCornerRadiusTopEnd">@dimen/mtrl_textinput_box_corner_radius_medium</item>
<item name="boxCornerRadiusBottomEnd">@dimen/mtrl_textinput_box_corner_radius_medium</item>
<item name="boxCornerRadiusBottomStart">@dimen/mtrl_textinput_box_corner_radius_medium</item>
<item name="boxStrokeColor">@color/mtrl_outlined_stroke_color</item>

<item name="counterTextAppearance">?attr/textAppearanceCaption</item>
<item name="counterOverflowTextAppearance">?attr/textAppearanceCaption</item>
<item name="errorTextAppearance">?attr/textAppearanceCaption</item>
<item name="helperTextTextAppearance">?attr/textAppearanceCaption</item>
<item name="hintTextAppearance">?attr/textAppearanceCaption</item>

<item name="counterTextColor">@color/mtrl_indicator_text_color</item>
<item name="counterOverflowTextColor">@color/mtrl_error</item>
<item name="errorTextColor">@color/mtrl_error</item>
<item name="helperTextTextColor">@color/mtrl_indicator_text_color</item>
<!-- The color of the label when it is collapsed and the text field is active -->
<item name="hintTextColor">?attr/colorPrimary</item>
<!-- The color of the label in all other text field states (such as resting and disabled) -->
<item name="android:textColorHint">@color/mtrl_indicator_text_color</item>

<item name="shapeAppearance">?attr/shapeAppearanceSmallComponent</item>
<item name="shapeAppearanceOverlay">@null</item>

关于android - 如何改变 Material TextInputLayout OutlinedBox unfocused Color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55357407/

相关文章:

java - 如何根据您所在的 Activity 从 CustomAdapter 隐藏元素?

android - 在android中为对话框窗口添加边框

java - 在不允许的地方处理空值

html - 对齐和间隔 Material Design Lite 文本输入字段的最佳方法是什么?

android - 为什么我不能在 Theme.Appcompat 中使用 TextInputLayout(来自支持设计库)

android - 元素共享的过渡有效,但是共享的多个元素不起作用[Android]

Android:如何默认显示TextInputLayout的suffixText?

android - 使用 ActionBarActivity 时不显示 PreferenceFragment

android - 更改 AlertDialog 中“确定”按钮的颜色

android - 如何设置TextInputLayout框背景的不同颜色?