Android 如何更改material.io中文本字段的大纲?

Android 如何更改material.io中文本字段的大纲?,android,textfield,android-textinputlayout,material-components,material-components-android,Android,Textfield,Android Textinputlayout,Material Components,Material Components Android,我有两个文本字段(Material.io),当我点击第一个文本字段时,轮廓颜色变为我在app:boxStrokeColor=“@color/button_color”中指定的颜色,但当我选择另一个文本字段时,第一个文本字段的颜色变为灰色。如何将此颜色更改为其他颜色? 使用选择器,而不是使用颜色 app:boxStrokeColor="@color/myselector" 其中选择器类似于: <selector xmlns:android="http://schemas.android.c

我有两个文本字段(Material.io),当我点击第一个文本字段时,轮廓颜色变为我在
app:boxStrokeColor=“@color/button_color”
中指定的颜色,但当我选择另一个文本字段时,第一个文本字段的颜色变为灰色。如何将此颜色更改为其他颜色?

使用选择器,而不是使用颜色

app:boxStrokeColor="@color/myselector"
其中选择器类似于:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:color="?attr/colorPrimary" android:state_focused="true"/>
  <item android:alpha="0.87" android:color="?attr/colorOnSurface" android:state_hovered="true"/>
  <item android:alpha="0.12" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
  <item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
</selector>
  • 使用
    文本输入布局的自定义样式来覆盖颜色:


@样式/MyMaterialThemeOverlay
@颜色/。。。。
  <style name="ThemeOverlay_til">
    <item name="colorOnSurface">@color/....</item>
  </style>
  <style name="Custom_OutlinedBox" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
    <item name="materialThemeOverlay">@style/MyMaterialThemeOverlay</item>
  </style>

  <style name="MyMaterialThemeOverlay" parent="@style/ThemeOverlay.MaterialComponents.TextInputEditText.OutlinedBox">
    <item name="colorOnSurface">@color/....</item>
  </style>