首页 > 解决方案 > 背景图片不显示卡片视图

问题描述

我尝试在相对布局中创建一个小圆形视图。但是当我在卡片视图中设置图像(.jpg)时,图像没有显示。

                <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <androidx.cardview.widget.CardView
                    android:id="@+id/View"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:background="@drawable/background"
                    app:cardCornerRadius="20dp"
                    android:layout_margin="2dp"
                    android:elevation="2dp"
                    android:layout_centerInParent="true">
                </androidx.cardview.widget.CardView>
            </RelativeLayout>

在此处输入图像描述

我想要你可以在下图中看到。 在此处输入图像描述

标签: androidxmlandroid-layoutstylesandroid-cardview

解决方案


我假设您想创建一个包含 imageview 的圆形视图。因此,首先,使用 ImageView 而不是 CardView 本身设置您的图像。

<androidx.cardview.widget.CardView
      android:id="@+id/View"
      android:layout_width="25dp"
      android:layout_height="25dp"
      app:cardCornerRadius="12.5dp"
      android:layout_margin="2dp"
      android:elevation="2dp"
      android:layout_centerInParent="true">

      <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@drawable/background"/>

 </androidx.cardview.widget.CardView>

通常,您的 imageview 图像会与您的 cardview 重叠,因此为避免这种情况,只需在您的活动中以编程方式将您的 imageview clipToOutline设置为 true。

imageView.clipToOutline = true

推荐阅读