私はカードビューで作業していますが、問題はCardViewに標高や影が表示されないことです。標高と影のプロパティを使用しようとしたように、私はすでにstackoverflowの回答で提案された方法のいくつかを試しました。また、card_view:cardUseCompatPadding = "true"を使用してみましたが、成功しませんでした。これは私のxmlファイルです
<?xml version="1.0" encoding="utf-8"?>
<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"
xmlns:card_view="http://schemas.Android.com/tools"
Android:layout_marginLeft="12dp"
Android:layout_marginRight="12dp"
Android:layout_marginTop="6dp"
Android:layout_marginBottom="6dp"
app:cardBackgroundColor="#FAFBFD"
app:cardElevation="5dp">
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical">
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<de.hdodenhof.circleimageview.CircleImageView
Android:id="@+id/post_profile_image"
Android:layout_width="50dp"
Android:layout_height="50dp"
Android:src="@mipmap/ic_launcher"
Android:layout_marginLeft="12dp"
Android:layout_marginTop="12dp"/>
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_toRightOf="@id/post_profile_image"
Android:layout_marginLeft="12dp"
Android:orientation="vertical"
Android:layout_marginTop="16dp">
<TextView
Android:id="@+id/post_username"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Name"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textColor="#000000"/>
<TextView
Android:id="@+id/post_time"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="2dp"
Android:text="Time"
Android:textAppearance="?android:attr/textAppearanceSmall"
Android:textColor="@color/grayColor"/>
</LinearLayout>
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true">
<ImageButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@Android:drawable/ic_delete"
Android:id="@+id/post_delete_btn"
Android:visibility="invisible"/>
</LinearLayout>
</RelativeLayout>
<ImageView
Android:id="@+id/post_image"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_centerHorizontal="true"
Android:layout_marginTop="12dp"
Android:adjustViewBounds="true"
Android:background="#00ffffff"
Android:src="@drawable/add_btn"
Android:visibility="gone"/>
<TextView
Android:id="@+id/post_text"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="12dp"
Android:layout_marginLeft="12dp"
Android:text="Text about Posting...."
Android:textAppearance="?android:attr/textAppearanceMedium"/>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="12dp"
Android:layout_marginBottom="8dp">
<ImageButton
Android:id="@+id/like_btn"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginLeft="12dp"
Android:background="#00ffffff"
Android:src="@drawable/grey_like_bt"/>
<TextView
Android:id="@+id/post_like_count"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginLeft="4dp"
Android:layout_marginTop="8dp"
Android:text="0 Likes"
Android:textColor="#2196F3"/>
<ImageButton
Android:id="@+id/comment_btn"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginLeft="32dp"
Android:background="#00ffffff"
Android:src="@drawable/comment_btn_gray"/>
<TextView
Android:id="@+id/post_comment_count"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginLeft="4dp"
Android:layout_marginTop="8dp"
Android:text="0 Comments"
Android:textColor="#2196F3"/>
<RelativeLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<ImageButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@Android:drawable/ic_menu_edit"
Android:visibility="invisible"
Android:id="@+id/post_edit_btn"
Android:layout_alignParentRight="true"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</Android.support.v7.widget.CardView>
標高と影が表示されない理由がわからない
影を描くには、hardwareAccelerated drawingを使用する必要があることを忘れないでください
<application Android:hardwareAccelerated="true" ...>
詳細については https://developer.Android.com/guide/topics/graphics/hardware-accel.html?hl=r
<Android.support.v7.widget.CardView Android:id="@+id/item_card"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
app:cardCornerRadius="2dp"
app:cardUseCompatPadding="true"
app:cardElevation="2dp"
app:cardBackgroundColor="@color/md_white_1000"
Android:foreground="?android:attr/selectableItemBackground"
Android:clickable="true">
</Android.support.v7.widget.CardView>
マニフェストファイルにAndroid:hardwareAccelerated="false"
行がある場合は、削除します。
答えは、マージンとcardViewとその親のパディングの組み合わせです。
このようにしてみてください:
<Android.support.v7.widget.CardView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginBottom="@dimen/minimum_dimem"
Android:layout_marginLeft="@dimen/default_margin"
Android:layout_marginRight="@dimen/default_margin"
Android:layout_marginTop="@dimen/minimum_dimem"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="@dimen/cardview_radius"
app:cardElevation="@dimen/cardview_default_elevation">
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:padding="@dimen/ten_dimem">
...
</RelativeLayout>
</Android.support.v7.widget.CardView>
試してみてください
<Android.support.v7.widget.CardView
Android:id="@+id/driverCurrentJobsCardView"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_margin="@dimen/dim_8"
Android:background="#ffffff"
app:cardCornerRadius="4dp"
card_view:cardElevation="4dp"/>
そして、あなたがgradleでこの依存関係を使用していることを確認してください
compile 'com.Android.support:cardview-v7:23.2.1'
これを試す必要があります:
<Android.support.v7.widget.CardView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_margin="5dp"
app:cardElevation="3dp">
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical">
</LinearLayout>
<!--Put your other fields between this-->
</Android.support.v7.widget.CardView>
<Android.support.v7.widget.CardView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:cardElevation="10dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="#ffff8800">
......
</Android.support.v7.widget.CardView>
最初に背景色を削除し、標高を追加し、後で背景を再度追加します。レイアウトデザイナーを介して背景を追加しましたが、私のために働いた。
CardViewウィジェットにこの行を追加します
app:cardElevation="5dp"
これが役立つことを願っています!
AndroidManifest.xml
から次の行を削除します
Android:hardwareAccelerated="false"
この内側のcardViewを使用して影を表示します。
app:cardElevation="4dp"
app:cardMaxElevation="4dp"
これをルートビューに入れてみてください:
xmlns:card_view="http://schemas.Android.com/apk/res-auto"
昇格には次のコードを使用します。
card_view:cardElevation="10dp"