Cardview 突然停止显示阴影

Cardview suddenly stops showing shadow

如果

如何显示 cardview 高度
android:hardwareAccelerated="false"

AndroidManifest.xml

我的应用程序配置是

    <application
    android:name="MyappApplication"
    android:allowBackup="true"
    android:hardwareAccelerated="false"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher"
    android:supportsRtl="true"
    android:largeHeap="true"
    android:theme="@style/AppTheme"
    android:usesCleartextTraffic="true">

我的 CardView 是

 <androidx.cardview.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginStart="@dimen/spacing_small"
    android:layout_marginEnd="@dimen/spacing_small"
    card_view:cardBackgroundColor="@color/white"
    android:foreground="?android:attr/selectableItemBackground"
    android:outlineAmbientShadowColor="@color/colorPrimaryDark"
    android:outlineSpotShadowColor="@color/colorPrimaryDark"
    card_view:cardCornerRadius="@dimen/spacing_small"
    card_view:cardElevation="2dp"
    card_view:cardUseCompatPadding="true"
    tools:ignore="UnusedAttribute">

我认为用 android:hardwareAccelerated="false"。如果在您的应用程序中绝对有必要,一种解决方案可能是通过活动而不是应用程序级别设置加速。

<activity ... /> <activity android:hardwareAccelerated="" />

这样您可以将未使用卡片视图的活动保留为 android:hardwareAccelerated="false",并将应用程序级别标记保留为 true。