CardView提升无法在Android 5.1.1上运行

时间:2015-08-02 15:12:26

标签: android android-cardview android-5.1.1-lollipop

我在RecyclerView中使用CardView。 经过大量阅读后,我最终得到了以下“不工作”的信息。代码仅适用于Android 5.1.1。在Android版之前,它的工作效果很好。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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_height="match_parent"
    android:background="#11ffffff"
    android:orientation="vertical"
    android:paddingBottom="10dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#11ffffff">
        <android.support.v7.widget.CardView
            android:id="@+id/card_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@color/primary_bg_light"
            card_view:cardCornerRadius="2dp">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@color/primary_bg_light">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:paddingBottom="15dp"
                        android:paddingLeft="15dp"
                        android:textColor="@color/background_floating_material_light"
                        android:textSize="24sp"
                        android:textStyle="bold" />

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

我确实尝试使用代码设置高程但结果相同。

4 个答案:

答案 0 :(得分:9)

要使其兼容api 21之上或之下,您需要在支持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>

答案 1 :(得分:1)

如果您在AndroidManifest.xml

中使用,请删除以下行
android:hardwareAccelerated="false"

答案 2 :(得分:1)

从AndroidManifest.xml文件中的<application ...> </application>删除此行

android:hardwareAccelerated="false"

更改为

android:hardwareAccelerated="true"

了解更多详情Hardware acceleration

答案 3 :(得分:0)

在卡片视图中设置

<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_height="match_parent"
android:layout_margin="6dp"
card_view:cardUseCompatPadding="true"
card_view:cardElevation="4dp"
card_view:cardCornerRadius="3dp">