如何从 MaterialCardView 中移除涟漪效应?

Posted

技术标签:

【中文标题】如何从 MaterialCardView 中移除涟漪效应?【英文标题】:How to remove ripple effect from MaterialCardVew? 【发布时间】:2019-06-05 18:49:23 【问题描述】:

如何禁用MaterialCardView 的触摸波纹效果? 将clickable 属性设置为false 或使用foregroundbackground 属性均无效。

我正在使用材料支持库版本 1.1.0-alpha02

【问题讨论】:

No ripples for MaterialCardView的可能重复 @MartinZeitler 这个问题正好相反!我问过如何消除涟漪效应。 【参考方案1】:

只有rippleColorstyleable

<com.google.android.material.card.MaterialCardView
    style="@style/Widget.MaterialComponents.CardView"
    app:rippleColor="@android:color/transparent"
    android:layout_
    android:layout_>

</com.google.android.material.card.MaterialCardView>

【讨论】:

在 MaterialCardView 中没有 rippleColor 属性。那么你是如何删除它的呢?你能解释一下吗? @vikassingh 有。也许你的依赖是旧的?试试 1.1.0-beta07【参考方案2】:

只需在 xml 中使用这个属性:app:rippleColor="@android:color/transparent"

或者在 Kotlin 中以编程方式:cardView.rippleColor = ColorStateList.valueOf(Color.TRANSPARENT)

【讨论】:

【参考方案3】:

你可以像这样使用 CSS:

.mdc-card__primary-action.card__primary-action.mdc-ripple-upgraded 
  &:hover,
  &:focus,
  &:active 
    &.mdc-card__primary-action::before,
    &.mdc-card__primary-action::after 
      background-color: rgba(255, 255, 255, 0) !important;
      opacity: 0 !important;
    
  

【讨论】:

这个问题是关于android的

以上是关于如何从 MaterialCardView 中移除涟漪效应?的主要内容,如果未能解决你的问题,请参考以下文章

如何从JavaScript对象中移除一个属性

如何观察 NSManagedObject 是不是从 managedObjectContext 中移除

如何从提交按钮中移除焦点

iPhone:按下时如何从 UIBarButtonItem 中移除发光(光)?

如何从主 QWidget 中移除 QGraphicsTextItem 的焦点

如何从 ScrollView 内的 RecyclerView 中移除焦点?