90

こんにちは、私はサポート ライブラリのカード ビューを使用しているデモ アプリケーションに取り組んでいます。デフォルトでは、周囲に影が追加されています。この影を削除したいので、シンプルに見えるはずです。

私はこれを試しましたが、私にはうまくいきませんでした。

CardView cardView = (CardView) v.findViewById(R.id.cardView);
cardView.setElevation(0);

これらを行った後、私はクラッシュしています

11-06 15:12:17.018: E/AndroidRuntime(24315): FATAL EXCEPTION: main
11-06 15:12:17.018: E/AndroidRuntime(24315): Process: com.xyz, PID: 24315
11-06 15:12:17.018: E/AndroidRuntime(24315): java.lang.NoSuchMethodError: android.support.v7.widget.CardView.setElevation
11-06 15:12:17.018: E/AndroidRuntime(24315):    at com.xyz.adapters.RecycleViewAdapter.onCreateViewHolder(RecycleViewAdapter.java:85)
11-06 15:12:17.018: E/AndroidRuntime(24315):    at com.xyz.adapters.RecycleViewAdapter.onCreateViewHolder(RecycleViewAdapter.java:1)
11-06 15:12:17.018: E/AndroidRuntime(24315):    at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:2915)
11-06 15:12:17.018: E/AndroidRuntime(24315):    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:2511)
11-06 15:12:17.018: E/AndroidRuntime(24315):    at android.support.v7.widget.LinearLayoutManager$RenderState.next(LinearLayoutManager.java:1425)
11-06 15:12:17.018: E/AndroidRuntime(24315):    at android.support.v7.widget.LinearLayoutManager$RenderState.next(LinearLayoutManager.java:1425)

レイアウト.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res/com.xyz"
    android:id="@+id/cardView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="5dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:orientation="horizontal" >

前もって感謝します。

4

13 に答える 13

80

昇格をXmlに入れてみてください。

app:cardElevation="0dp"

また

cardView.setCardElevation(0);

そして、最新の CardView ライブラリを使用していることを確認してください。

于 2014-11-06T09:57:07.220 に答える
5

最初にこれを親レイアウトに追加する必要があります

xmlns:card_view="http://schemas.android.com/tools"

次に、このように標高を設定します

card_view:cardElevation="0dp"

于 2015-12-22T07:08:31.693 に答える
5
 <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:cardElevation="0dp"
        app:cardCornerRadius="2dp">
....`
 </android.support.v7.widget.CardView>
于 2016-10-21T04:39:16.223 に答える
4

このように試してみてください。

CardView cardView = (CardView) v.findViewById(R.id.cardView);
cardView.setCardElevation(0);
于 2014-11-06T09:47:40.510 に答える
0

CardView は、初期化中に独自の昇格を設定します。これにより、XML から設定したものはすべてオーバーライドされます。これは、 check thisでバグとして報告する必要があります

@Override
public void initialize(CardViewDelegate cardView, Context context, int backgroundColor,
        float radius) {
    cardView.setBackgroundDrawable(new RoundRectDrawable(backgroundColor, radius));
    View view = (View) cardView;
    view.setClipToOutline(true);
    view.setElevation(context.getResources().getDimension(R.dimen.cardview_elevation));
}
于 2014-11-06T10:18:29.987 に答える