Android-CardView高程阴影变暗

Bil*_*ker 6 android android-cardview android-elevation

我正在使用'com.android.support:cardview-v7:23.4.0',我看到了阴影,但不是深灰色阴影,我想获得更深的高程阴影,但是我看不到有任何属性可以得到,有什么想法吗?

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginBottom="8dp"
        app:cardElevation="8dp"
        app:cardPreventCornerOverlap="false"
        app:cardCornerRadius="1dp"
        app:cardUseCompatPadding="false">
        <include layout="@layout/any_layout"/>
    </android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

小智 15

我相信阴影强度是由应用程序使用的基本主题定义的。因此,对于超过21的API级别,您可以覆盖阴影的强度。在其中styles.xml添加ambientShadowAlpha和的这两行spotShadowAlpha。请注意,这些值的范围是0到1,其中0完全透明,而1完全不透明(几乎是黑色):

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="android:fontFamily">@font/barlow_family</item>
    <item name="android:ambientShadowAlpha">1</item>
    <item name="android:spotShadowAlpha">1</item>

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:statusBarColor">@android:color/background_light</item>
</style>
Run Code Online (Sandbox Code Playgroud)


小智 5

   <androidx.cardview.widget.CardView app:cardCornerRadius="10dp"
        app:cardUseCompatPadding="true"
        android:elevation="10dp"
        android:outlineSpotShadowColor="@color/black"
        android:outlineAmbientShadowColor="@color/grey"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

 app:cardUseCompatPadding="true"
Run Code Online (Sandbox Code Playgroud)

尝试这个

  • 仅适用于 API 28+ (5认同)