Cardview shadow not appearing in lollipop devices?

后端 未结 6 1131
北海茫月
北海茫月 2020-12-03 07:05

Am using the cardview in my android app. However the shadow is not showing. Here is the xml layout

The default optionsmenu shadow also not showing.

&         


        
相关标签:
6条回答
  • 2020-12-03 07:08

    After going through the docs again, I finally found the solution.

    Just add card_view:cardUseCompatPadding="true" to your CardView and shadows will appear on Lollipop devices.

    What happens is, the content area in a CardView take different sizes on pre-lollipop and lollipop devices. So in lollipop devices the shadow is actually covered by the card so its not visible. By adding this attribute the content area remains the same across all devices and the shadow becomes visible.

    My xml code is like :

    <android.support.v7.widget.CardView
        android:id="@+id/media_card_view"
        android:layout_width="match_parent"
        android:layout_height="130dp"
        card_view:cardBackgroundColor="@android:color/white"
        card_view:cardElevation="2sp"
        card_view:cardUseCompatPadding="true"
        >
    ...
    </android.support.v7.widget.CardView>
    
    0 讨论(0)
  • 2020-12-03 07:09

    As mentioned there CardView not showing Shadow in Android L make sure that you are drawing your view using hardwareAccelerated = true

    hardwareAccelerated = true

    hardwareAccelerated = false

    See Android Hardware Acceleration for details

    0 讨论(0)
  • 2020-12-03 07:12

    Hey friends I got the solution of above problem.Just add this code in your xml.

    <android.support.v7.widget.CardView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_margin="8dp"
        android:id="@+id/griditem"
        android:layout_height="match_parent"
        card_view:cardUseCompatPadding="true"
        card_view:cardElevation="4dp"
        card_view:cardCornerRadius="3dp">`
    

    I hope it will helpful for you...

    0 讨论(0)
  • 2020-12-03 07:17

    For Lollipop and higher you should add some margins to the card:

    <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="4dp"
                />
    

    Since the shadow lies outside of the actual view

    0 讨论(0)
  • 2020-12-03 07:21

    for someone ,

    one other thing that you should be aware of, shadows will not show if you have this line in the manifest:

    android:hardwareAccelerated="false"

    I tried all of the suggested stuff but it only worked for me when i removed the line, the reason i had the line was because my app works with a number of bitmap images and they were causing the app to crash.

    0 讨论(0)
  • 2020-12-03 07:25

    Please try to put android:hardwareAccelerated="false" androidManifest file may solve your issue because i also faced same issue and solved by adding 1 line only in manifest.

    0 讨论(0)
提交回复
热议问题