这是我的布局xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/catalog_item_card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
card_view:cardCornerRadius="5dp"
card_view:cardUseCompatPadding="true">
<android.support.constraint.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageViewPhoto"
android:layout_width="wrap_content"
android:layout_height="160dp"
android:src="@drawable/test_merchant_preview"
card_view:layout_constraintLeft_toLeftOf="parent"
card_view:layout_constraintRight_toRightOf="parent"
card_view:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.CardView>
Andrdoid 5.0 +
的结果正如您可以看到ImageView成功显示半径。行。
现在我在Android 4.3上运行app。
正如您可以看到没有半径的ImageView节目。 为什么呢?
答案 0 :(得分:1)
CardView中的ImageView在Android 4.3上不显示半径
CardView
提升仅适用于Android 5.0及更高版本
CardView
使用Lollipop上的提升属性获取阴影,然后回退到旧平台上的自定义模拟阴影实现。
由于圆角修剪的昂贵性质,在Lollipop之前的平台上,CardView
不会剪切与圆角相交的孩子。相反,它添加填充以避免这种交叉
更多信息read here