【问题标题】:How to change material TextInputLayout OutlinedBox unfocused Color如何更改材质TextInputLayout OutlinedBox unfocused Color
【发布时间】:2019-03-26 12:38:30
【问题描述】:

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

我该怎么做?

【问题讨论】:

    标签: android material-design android-textinputlayout


    【解决方案1】:

    在主题中添加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>
    

    结果是: 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>
    

    【讨论】:

    • 你好,Morteza Rastgoo,没有这样的属性存在,是Android Studio显示的错误。你能帮我解决这个问题吗?
    • @parekhkruti26 确保扩展
    • 你好 Morteza,我扩展了和你说的一样的主题,但问题是,我使用了材料库的最后一个稳定版本,即1.0.0,这个属性是我猜的一部分库的最新 alpha 版本。
    猜你喜欢
    • 2020-12-17
    • 2020-08-15
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2020-04-08
    • 2019-06-02
    相关资源
    最近更新 更多