ShapeableImageView 的笔触被边框切割

Nas*_*mel 3 android stroke android-imageview android-shape

我这里有一个 ShapeableImageView,笔画为 5dp:

<com.google.android.material.imageview.ShapeableImageView
    android:id="@+id/profile_picture"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_marginTop="20dp"
    android:scaleType="centerCrop"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@id/profile_toolbar"
    app:shapeAppearanceOverlay="@style/circular"
    app:strokeColor="@color/dark_blue"
    app:strokeWidth="5dp" />
Run Code Online (Sandbox Code Playgroud)

这是结果:

这是结果

Nas*_*mel 5

我一直在尝试一些东西,最后,在视图中添加一个填充解决了这个问题

  • 关于“ShapeableImageView”需要提到的一件事是它有两个填充选项。1- `app:contentPadding` 设置用于填充其内容,就像我们使用的图像一样。2- `android:padding` 设置用于填充 imageview 本身。所以让它在这里工作的是“android:padding”。 (4认同)

hat*_*ata -1

我不认为 ShapeableImageView 应该用来绘制边框笔划。我认为它应该只是将其图像资源剪辑为指定的形状。

<com.google.android.material.imageview.ShapeableImageView
    android:id="@+id/profile_picture"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_marginTop="20dp"
    android:background="#FF0000"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_launcher_foreground"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:shapeAppearanceOverlay="@style/circular" />
Run Code Online (Sandbox Code Playgroud)

截屏