CardViewの現在の背景色を取得する方法はありません。それは本当に参考になりますCardViewの現在の背景色を取得する方法がありません
cardView.getCardBackgroundColor();
:私はのような何かをしたいと思い
cardView.setCardBackgroundColor(color);
のような背景を設定する方法があります。
CardViewの現在の背景色を取得する方法はありません。それは本当に参考になりますCardViewの現在の背景色を取得する方法がありません
cardView.getCardBackgroundColor();
:私はのような何かをしたいと思い
cardView.setCardBackgroundColor(color);
のような背景を設定する方法があります。
これはgradleの問題でした。私は古いバージョンのCardViewを他のライブラリにバンドルして使用していました。行を追加して修正:
compile 'com.android.support:cardview-v7:24.2.1'
CardView内の親レイアウトに色を設定して取得する必要があります。この場合
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible">
</RelativeLayout>
、設定およびRelativeLayoutから取得しよう。
申し訳ありませんが、それは下位APIバージョンでは醜いかもしれません。 –
ええ、私は知っていますが、CardView APIがうまく機能していないためです。 –
醜い人は受け入れられません、私は方法を見つけるでしょう。 –
それはgetCardBackgroundColor()
方法が実際にCardView
に追加されているように見えるのではなく、最近のバージョンでは、これだけあなたのサポートライブラリのバージョンが最新であることを確認してください。
このメソッドは、単一のカラー値ではなくColorStateList
を返します。 getDefaultColor()
を呼び出すと、通常の背景色が得られます。
int backgroundColor = cardView.getCardBackgroundColor().getDefaultColor();
お返事ありがとうございました。 –
[ソースコード(https://android.googlesource.com/platform/frameworks/support/+/master/v7/cardview/src/android/support/v7/widget/CardView.java# 296)はその方法を正確に示しています。多分もっと新しいものかもしれません。サポートライブラリの最新バージョンを使用していることを確認してください。 - はい、比較的新しい(https://android.googlesource.com/platform/frameworks/support/+/e7c701f05b4f6afa2913c3743638d7b25b96df83%5E%21/v7/cardview/src/android/support/v7/widget/CardView)。 java)。ライブラリのバージョンを更新するだけです。 –
@MikeM。 whaaatttを待つ? –
実際には、 'ColorStateList'を返すので、' getDefaultColor() 'を呼び出して通常の背景色を取得してください。 –