Android MaterialCardView вырезать угловой стиль - PullRequest
0 голосов
/ 30 марта 2020

Я использовал 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

1 Ответ

0 голосов
/ 30 марта 2020

Вы можете использовать ShapeableImageView из библиотеки компонентов материала и присвоить ей то же shapeAppearance, что и карточке, чтобы углы совпадали.

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

Это может быть доступно только как альфа-версия.

...