Android material CardView 波纹效果改变内容颜色

Android material CardView ripple effect changes content color

我最近从使用自定义卡片组件转向 material 设计 3 张卡片。令我惊讶的是,当按下卡片时,波纹颜色会改变内容颜色。我在 material-design-components 存储库的目录项目上尝试了这个,卡的行为方式相同。我当前更改波纹颜色和卡片背景的代码:

<style name="Widget.App.Card.Filled" parent="Widget.Material3.CardView.Filled">
   <item name="rippleColor">#4D4D4D</item>
   <item name="cardBackgroundColor">@android:color/transparent</item>
</style>

我也有一个展示这种行为的演示:https://i.imgur.com/t4WW4CY.mp4。字体颜色根据波纹效果变为浅灰色。我也在使用 material 按钮,但涟漪效应并未影响内容。我正在使用 1.5.0-rc01.

版本

有没有人知道这是否是有意的,以及我如何只能使用 material 设计组件提供的属性更改印刷机上的背景颜色。

更新:

我的卡片视图 XML(它来自 material-components github + 自定义样式):

<com.google.android.material.card.MaterialCardView
      style="@style/Widget.App.Card.Filled"
      android:id="@+id/card"
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_weight="0.4"
      android:layout_margin="16dp"
      android:clickable="true"
      android:focusable="true"
      app:contentPadding="@dimen/cat_card_content_padding">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="@string/cat_card_states_card_content"
        android:textAppearance="?attr/textAppearanceBody1"/>
  </com.google.android.material.card.MaterialCardView>

我认为这是因为波纹颜色应用于前景而不是背景。所以是的,这是有意为之的,我不认为你可以改变它。

查看源代码:MaterialCardViewHelper.java

注意:这不会发生在按钮中,因为按钮将波纹应用于背景而不是前景。

按钮的源代码:MaterialButtonHelper.java