CardView中的ImageView在Android 4.3

时间:2017-11-17 09:36:57

标签: android android-imageview android-cardview

这是我的布局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 +

的结果

radius

正如您可以看到ImageView成功显示半径。行。

现在我在Android 4.3上运行app。

结果如下: no_radius

正如您可以看到没有半径的ImageView节目。 为什么呢?

1 个答案:

答案 0 :(得分:1)

  

CardView中的ImageView在Android 4.3上不显示半径

CardView提升仅适用于Android 5.0及更高版本

CardView使用Lollipop上的提升属性获取阴影,然后回退到旧平台上的自定义模拟阴影实现。

由于圆角修剪的昂贵性质,在Lollipop之前的平台上,CardView不会剪切与圆角相交的孩子。相反,它添加填充以避免这种交叉

更多信息read here