java - Android MaterialCardView 切角样式

标签 java android kotlin material-components materialcardview

我使用了MaterialCardView

I've given it a Cut Corners style

但是景色远离角落

IMAGE: Image spacing

我还使用了以下代码:

app:cardPreventCornerOverlay="true"

但它不会夹角

IMAGE: not croped image

有人可以帮助我吗?

<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>

IMAGE: from top code

如果使用:

app:cardPreventCornerOverlay="true"

IMAGE: cardPreventCornerOverlay

最佳答案

您可以使用 Material 组件库中的 ShapeableImageView 并为其指定与卡片相同的 shapeAppearance,以便角点匹配。

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

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

关于java - Android MaterialCardView 切角样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60936952/

相关文章:

javascript - 如何在 android phonegap 中将 Json 对象从 js 传递到 java?

kotlin - supervisorScope 取消其父级

kotlin - 函数类型(T1,T2,..,Tr 与接口(interface) Function 之间的关系

Java连接池实现

java - Android API 级别 15 及以上的格式化货币或 double

java - 在 Java 中使用 Google Drive API 上传文件时出现 403 Forbidden

Kotlin - 引用相等并不总是有效

java - jdk9中有没有WindowsLookAndFeel.java的替代品

java - 从类构造函数创建一个按钮

android - 无法将 FrameLayout 放置在 ConstraintLayout 内