2

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

5 回答 5

11

要使其在 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>
于 2015-12-15T08:02:53.087 回答
2

如果您使用过,请删除以下行AndroidManifest.xml

android:hardwareAccelerated="false"
于 2018-03-25T06:24:03.967 回答
2

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

android:hardwareAccelerated="false"

改成

android:hardwareAccelerated="true"

更多细节硬件加速

于 2018-05-29T08:33:49.557 回答
2

只需将此代码添加到 xml 文件中的卡片视图!

    card_view:cardUseCompatPadding="true"

您必须使用 Alt+Enter 导入 card_view ! 下面的代码将在顶部导入!

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

您会看到海拔在 android 5 或 5+ 上运行。

于 2017-05-08T09:52:33.027 回答
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">
于 2020-06-05T09:47:19.943 回答