web-dev-qa-db-ja.com

CardViewに影の高さが表示されない

私はカードビューで作業していますが、問題は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>

標高と影が表示されない理由がわからない

10
Nikesh Patel

影を描くには、hardwareAccelerated drawingを使用する必要があることを忘れないでください

<application Android:hardwareAccelerated="true" ...>

詳細については https://developer.Android.com/guide/topics/graphics/hardware-accel.html?hl=r

43
Ara Hakobyan
<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>
20
ZeroOne

マニフェストファイルに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>

そして結果: enter image description here

2
Josiel Novaes

試してみてください

    <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'
1
AbhayBohra

これを試す必要があります:

<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>
1
Shubham Sejpal
     <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>

最初に背景色を削除し、標高を追加し、後で背景を再度追加します。レイアウトデザイナーを介して背景を追加しましたが、私のために働いた。

0
Gator-aid

CardViewウィジェットにこの行を追加します

app:cardElevation="5dp"

これが役立つことを願っています!

0
Akp

AndroidManifest.xmlから次の行を削除します

Android:hardwareAccelerated="false"
0

この内側のcardViewを使用して影を表示します。

app:cardElevation="4dp"
app:cardMaxElevation="4dp"
0
Divyesh Patel

これをルートビューに入れてみてください:

xmlns:card_view="http://schemas.Android.com/apk/res-auto" 

昇格には次のコードを使用します。

card_view:cardElevation="10dp"
0
Haris ali