我如何禁用MaterialCardView
的触摸涟漪效果?将clickable
属性设置为false
或者调整foreground
和background
属性均无效。
我正在使用material support library版本1.1.0-alpha02。
我如何禁用MaterialCardView
的触摸涟漪效果?将clickable
属性设置为false
或者调整foreground
和background
属性均无效。
我正在使用material support library版本1.1.0-alpha02。
只有rippleColor
是一个styleable
属性:
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
app:rippleColor="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.google.android.material.card.MaterialCardView>
注意:它不会从 <androidx.cardview.widget.CardView
中移除涟漪效果。
rippleColor
属性。那么你该如何移除它?能否请您解释一下? - Vikas singh在xml中使用以下属性:
app:rippleColor="@android:color/transparent"
或在Kotlin中编程:
cardView.rippleColor = ColorStateList.valueOf(Color.TRANSPARENT)
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
app:rippleColor="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:focusable="false">
</com.google.android.material.card.MaterialCardView>
你可以只使用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;
}
}
}