从样式更改小吃栏的操作颜色

zih*_*yef 4 android snackbar android-snackbar material-components material-components-android

我需要AppTheme.colorAccent棕色,但我需要我的Snackbar动作颜色是蓝色。如何Snackbar在不改变样式的情况下更改操作按钮的颜色AppTheme.colorAccent

我已经尝试过这段代码,但它不起作用:

<style name="TextAppearance.Design.Snackbar" parent="android:TextAppearance" tools:override="true">
    <item name="colorAccent">#3097ff</item>
</style>
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 5

使用材料组件库,您可以做到这一点。

只需snackbarButtonStyle在您的主题应用程序中添加该属性即可。

<style name="AppTheme" parent="Theme.MaterialComponents.*">
    <!-- Style to use for action button within a Snackbar in this theme. -->
    <item name="snackbarButtonStyle">@style/snackbar_button</item>
    ...
</style>
Run Code Online (Sandbox Code Playgroud)

然后定义您的自定义样式:

  <style name="snackbar_button" parent="@style/Widget.MaterialComponents.Button.TextButton.Snackbar">
      <item name="backgroundTint">@color/secondaryLightColor</item>
      <item name="android:textColor">@color/primaryDarkColor</item>
  </style>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

它需要库的版本 1.1.0。