web-dev-qa-db-ja.com

MaterialCardViewの波紋なし

新しいMaterialCardViewに波紋はありませんか?

私はCardViewAndroid:clickable="true"およびAndroid:foreground="?android:attr/selectableItemBackground"と一緒に使用しましたが、正常に機能しましたが、新しいMaterialCardViewを使用すると、波紋がまったくありません????。

その他のViewsなどは引き続き機能しますが、cardをクリックできるようにします(フィードバックとしてリップルを使用)。

19
hardysim

これはMaterialCardViewのバグです。作成後にフォアグラウンドをオーバーライドしています。バグを埋めました。フォアグラウンドを設定せずにカードをクリックできる場合は、波紋が表示されるように修正する必要があります。

修正を待つことができない場合は、サポートライブラリのCardViewを使用するか、CardViewがインフレートされた後にフォアグラウンドドローアブルを設定するようにコードを変更するか、プルリクエストを喜んで受け入れます。関連コード: https://github.com/material-components/material-components-Android/blob/master/lib/Java/com/google/Android/material/card/MaterialCardView.Java 。おそらく https://github.com/material-components/material-components-Android/blob/master/lib/Java/com/google/Android/material/ripple/RippleUtils.Java を使用できます。 SDKのRippleDrawable> = 21。

10
Cameron Ketcham

私の場合、XMLファイルにAndroid:clickable="true"card_view:rippleColor="#cfd8dc"を追加した後に機能しました。それが将来のSOに役立つことを願っています。

<com.google.Android.material.card.MaterialCardView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
card_view:cardElevation="2dp"
card_view:rippleColor="#cfd8dc"
Android:clickable="true"
card_view:cardCornerRadius="5dp"
card_view:cardUseCompatPadding="true"
xmlns:card_view="http://schemas.Android.com/apk/res-auto"
xmlns:Android="http://schemas.Android.com/apk/res/Android">
0
Suraj Bahadur