0

CardView elevationは別のアプリケーションでテストしたときに正常に動作しますが、cardViewの同じコードを使用してRecyclerViewのアイテムを作成すると、標高は表示されなくなります。ここでCardView elevationがRecyclerViewで動作しない

はRecyclerViewリスト項目のコードです:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      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-auto" 
      android:layout_margin="10dp"> 


<android.support.v7.widget.CardView 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/colorAccent" 
    card_view:cardUseCompatPadding="true" 
    app:cardMaxElevation="6dp" 
    card_view:cardCornerRadius="3dp" 
    card_view:cardElevation="24dp"> 

    <LinearLayout android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:id="@+id/thumbnail" 
      android:layout_width="match_parent" 
      android:layout_height="250dp" /> 

     <TextView 
      android:id="@+id/title" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/thumbnail" 
      /> 
    </LinearLayout> 


</android.support.v7.widget.CardView> 

そしてここでは、私の主な活動のxmlです:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:tools="http://schemas.android.com/tools" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" 
        android:background="@drawable/bitmap" 
        android:layerType="software" 
        android:padding="10dp" 
    tools:context="com.example.android.vikramadityastimeline.MainActivity"> 

<android.support.v7.widget.RecyclerView 
    android:id="@+id/card_recycler_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    /> 



</FrameLayout> 
+2

何それが今のように見えるのですか?スクリーンショットを共有できますか? – Wizard

+0

FrameLayoutの埋め込みを設定する必要があります。 –

+0

が試行されました。作業していません –

答えて

0

あなたCardView XMLタグに次の行を追加します。

android:layout_margin="10dp" 
+0

それを試しても動作しません。 –

+0

あなたのxmlからこの2行を削除して実行してください.... card_view:cardUseCompatPadding = "true" app:cardMaxElevation = "6dp" –

+0

効果はありません。 –

1

サポートするには、サポートするCardViewにapp:cardUseCompatPadding="true"を指定する必要があります。

<android.support.v7.widget.CardView 
     app:cardElevation="4dp" 
     app:cardUseCompatPadding="true" 
     app:cardMaxElevation="6dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
</android.support.v7.widget.CardView> 
+0

試してみました。 –

0

あなたのコードでは、リサイクルビュー項目でフレームレイアウトを使用し、その中にcardviewがあります。 フレームレイアウトに10dpというマージンを与えますが、私はあなたにその行を削除し、カードビューに余白を追加することを提案します。 リサイクルの観点では、あなたの外枠のレイアウトが完了したので、あなたのcardviewの影ので、項目間にスペースが隠されなくてもよいので、このようなあなたのコードをcahngingによってそこにしようとしている。

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      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-auto" 
      android:padding="10dp"> 


<android.support.v7.widget.CardView 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/colorAccent" 
    app:cardUseCompatPadding="true" 
    app:cardMaxElevation="6dp" 
    android:layout_marginBottom="10dp" 
    app:cardCornerRadius="3dp" 
    app:cardElevation="24dp"> 

    <LinearLayout android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:id="@+id/thumbnail" 
      android:layout_width="match_parent" 
      android:layout_height="250dp" /> 

     <TextView 
      android:id="@+id/title" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/thumbnail" 
      /> 
    </LinearLayout> 


</android.support.v7.widget.CardView> 
</FrameLayout> 
+0

試してみましたが、まだ機能していません。また、アプリ内のテキストビューやフローティングボタンのような他の要素でもelevationプロパティは機能しません。しかし、これをテストするために作成した別のサンプルアプリケーションでは、標高がうまくいきました。また、XMLプレビューでは標高が追加されていることが示されていますが、デバイスでそれを実行したときは表示されません。 –

+0

大丈夫です..すべてのcard_view:...をapp:に置き換えてみてください。コード内でチェックしてください。実行時に標高が表示されないと便利です。 –

+0

私のコードを編集して見てください。 –

関連する問題