elevation属性是design包自带的阴影功能,有几个注意事项
1.要设置background,否则不能正确展示
android:background="@color/white"
若不是设置,则需要设置bound,但阴影效果不太一样
android:outlineProvider="bounds"
2.要设置父布局宽高大于当前布局,才能显示阴影。所以给当前布局设置margin
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@color/white"
android:layout_margin="@dimen/dp_5"
android:elevation="@dimen/dp_5"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/icon_mdgl" />
</LinearLayout>
</LinearLayout>
CardView 阴影无效
需要增加cardUseCompatPadding
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
app:cardElevation="@dimen/dp_2"
app:cardUseCompatPadding="true"
app:cardCornerRadius="@dimen/dp_5">
</android.support.v7.widget.CardView>
本文介绍了Android中CardView的阴影设置,强调了elevation属性的重要性。为了正确展示阴影,必须为CardView设置背景,并确保父布局的尺寸大于CardView本身,同时可能需要添加margin。当遇到CardView阴影无效的问题时,可以尝试启用cardUseCompatPadding。
5061

被折叠的 条评论
为什么被折叠?



