web-dev-qa-db-fra.com

CardView ne montrant pas l'élévation de l'ombre

Je travaille avec des vues de carte, mais le problème est que mon CardView ne montre aucune élévation ou ombre. J'ai déjà essayé certaines des méthodes suggérées dans les réponses stackoverflow, comme j'ai essayé d'utiliser les propriétés elevation et shadow. J'ai également essayé d'utiliser card_view: cardUseCompatPadding = "true", mais sans succès. Ceci est mon fichier 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>

Je ne sais pas pourquoi il ne montre aucune élévation ni ombre

10
Nikesh Patel

N'oubliez pas que pour dessiner une ombre, vous devez utiliser un dessin accéléré par matériel

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

voir les détails https://developer.Android.com/guide/topics/graphics/hardware-accel.html?hl=ru

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

Si votre fichier de manifeste comporte une ligne Android:hardwareAccelerated="false", supprimez-le.

5

La réponse est une combinaison de la marge et du remplissage de cardView et de son parent.

Essayez comme ça:

    <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>

Et le résultat:  enter image description here

2
Josiel Novaes

Essaye ça

    <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"/>

Et assurez-vous que vous utilisez cette dépendance gradle

compile 'com.Android.support:cardview-v7:23.2.1'
1
AbhayBohra

Vous devriez avoir à essayer ceci:

<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>

Supprimez d'abord la couleur d'arrière-plan, ajoutez l'élévation, puis ajoutez à nouveau l'arrière-plan. Travaillé pour moi, même si j’avais ajouté l’arrière-plan par l’intermédiaire du maquettiste.

0
Gator-aid

Ajouter cette ligne dans le widget CardView

app:cardElevation="5dp"

espérons que cela aidera!

0
Akp

supprimer la ligne ci-dessous de AndroidManifest.xml

Android:hardwareAccelerated="false"
0
Narendra Sorathiya

utilisez cette carte à l'intérieur pour afficher l'ombre:

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

Essayez de mettre ceci dans votre rootview:

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

et utilisez ce code pour l'altitude:

card_view:cardElevation="10dp"
0
Haris ali