3

我使用了MaterialCardView

我给了它一个 Cut Corners 风格

观点远离角落

图像:图像间距

我也使用了以下代码:

app:cardPreventCornerOverlay="true"

但它不夹角

图像:未裁剪的图像

谁能帮我?

<com.google.android.material.card.MaterialCardView
   android:id="@+id/topLayout"
   android:layout_width="0dp"
   android:layout_height="0dp"
   android:clipChildren="true"
   app:cardBackgroundColor="@color/colorBackground"
   app:cardElevation="1.5dp"
   app:layout_constraintBottom_toTopOf="@+id/navigationBar"
   app:layout_constraintEnd_toEndOf="parent"
   app:layout_constraintStart_toStartOf="parent"
   app:layout_constraintTop_toBottomOf="@+id/toolbar"
   app:shapeAppearanceOverlay="@style/CardView.Shape.Cut">

   <RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_marginStart="-21dp"
      android:layout_marginTop="-21dp"
      android:layout_marginEnd="-21dp"
      android:layout_marginBottom="-21dp"
      app:layout_constraintBottom_toBottomOf="@+id/topLayout"
      app:layout_constraintEnd_toEndOf="@+id/topLayout"
      app:layout_constraintStart_toStartOf="@+id/topLayout"
      app:layout_constraintTop_toTopOf="@+id/topLayout">

      <androidx.appcompat.widget.AppCompatImageView
          android:layout_width="match_parent"
          android:layout_height="210dp"
          android:scaleType="centerCrop"
          android:src="@drawable/photo_profile" />

   </RelativeLayout>

图片:来自顶部代码

如果使用:

app:cardPreventCornerOverlay="true"

图片:cardPreventCornerOverlay

4

1 回答 1

1

您可以ShapeableImageView从材料组件库中使用,并将其与shapeAppearance卡片相同,因此角落匹配。

https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/imageview/ShapeableImageView.java

不过,它可能仅作为 alpha 版本提供。

于 2020-03-30T18:31:28.130 回答