【发布时间】:2018-12-31 17:46:32
【问题描述】:
我有一个CardView 定义为
<androidx.cardview.widget.CardView
android:layout_width="70dp"
android:layout_height="70dp"
app:cardCornerRadius="35dp"
app:cardElevation="10dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/ic_user_default"/>
</androidx.cardview.widget.CardView>
我想要一个圆形 CardView,周围有一个圆形阴影,但我却在右下角得到一个阴影。
我错过了什么?
我尝试了一些东西,这就是我的结论。
CardView 位于具有 wrap_content 和 layout_height 的 RelativeLayout 内。我猜这只是包装 CardView ,没有它的影子。看看下面的例子。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView
android:layout_width="70dp"
android:layout_height="70dp"
app:cardCornerRadius="35dp"
app:cardElevation="10dp">
</androidx.cardview.widget.CardView>
</RelativeLayout>
<androidx.cardview.widget.CardView
android:layout_width="70dp"
android:layout_height="70dp"
app:cardCornerRadius="35dp"
app:cardElevation="10dp">
</androidx.cardview.widget.CardView>
</LinearLayout>
那么这就引出了一个问题,为什么它环绕 CardView 而不是 CardView 的阴影? 还有一个问题。如何使 CardView 的阴影居中?如果你仔细观察第二个 CardView,阴影是有重力的。
【问题讨论】:
-
是图片
PNG? -
请检查此示例 sn-p here
-
您设备的 Android 版本是多少?图片是圆形的?你是如何在卡片视图中加载这张图片的?
-
@aliusman 图片不是
png。它的jpg -
@snti 我使用的是 Android 8。图像不是圆形的。我通过分配
src来加载它,因为它在卡片视图中,所以它是循环的。
标签: android android-cardview androidx