#android #material-design #android-textinputlayout
#Android #material-дизайн #android-textinputlayout
Вопрос:
У меня есть текстовый ввод Outlinbox, и я хочу изменить цвет поля в несфокусированном режиме EditText.
Как я могу это сделать?
Ответ №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>
Комментарии:
1. Привет, Morteza Rastgoo, такого атрибута не существует, это ошибка, показанная Android Studio. Не могли бы вы, пожалуйста, помочь мне решить эту проблему?
2. @parekhkruti26 убедитесь, что вы расширили <название стиля=»Apptheme» parent =»Theme. Компоненты материала. Свет. Панель действий отсутствует»>
3. Привет, Мортеза, я расширил ту же тему, что и вы сказали, но проблема была в том, что я использовал последнюю стабильную версию material library, которая была
1.0.0
, и этот атрибут, я полагаю, является частью последних альфа-версий библиотеки.