cardview默认情况下会有阴影,如果我们不需要阴影效果,需要进行设置。

我们先来看下cardview常见的属性

属性说明
app:cardElevation阴影的大小
app:cardMaxElevation阴影最大高度
app:cardBackgroundColor卡片的背景色
app:cardCornerRadius卡片的圆角大小
app:contentPadding卡片内容于边距的间隔
app:contentPaddingBottom卡片内容与底部的边距
app:contentPaddingTop卡片内容与顶部的边距
app:contentPaddingLeft卡片内容与左边的边距
app:contentPaddingRight卡片内容与右边的边距
app:contentPaddingStart卡片内容于边距的间隔起始
app:contentPaddingEnd卡片内容于边距的间隔终止
app:cardUseCompatPadding在Android 5.0及以上平台中,设置是否要添加padding,5.0以下默认添加padding。默认值为false
app:cardPreventCornerOverlap是否给content添加padding,来阻止与圆角重叠,默认值为true

由此可知,我们只需要把app:cardElevationapp:cardMaxElevation设为0dp,即可达到没有阴影的cardview的效果。
xml 代码如下

<androidx.cardview.widget.CardView
            app:cardBackgroundColor="@color/white"
            android:layout_width="300dp"
            android:layout_height="300dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="0dp"
            app:cardMaxElevation="0dp"
            app:cardUseCompatPadding="true">

            <ImageView
                android:id="@+id/image_ad"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop" />

</androidx.cardview.widget.CardView>
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐