如何在 ShapeableImageView 及其描边之间应用间距

X09*_*X09 1 android view android-imageview material-components-android

我正在使用ShapeableImageView

<com.google.android.material.imageview.ShapeableImageView
        android:id="@+id/myImage"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:scaleType="centerCrop"
        android:src="@drawable/larry"
        app:strokeColor="@color/red"
        app:strokeWidth="9dp"
        app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerCircle" />
Run Code Online (Sandbox Code Playgroud)

而且画得还不错。但是,我希望视图和笔画之间有一点间距。我已经尝试过android:padding="10dp",但这似乎不起作用。

我还尝试删除笔画属性并使用此可绘制资源来设置视图的背景:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <stroke
        android:width="9dp"
        android:color="#00FF00" />
</shape>
Run Code Online (Sandbox Code Playgroud)

但边界根本没有出现。

请问,你知道我有什么办法可以实现它吗?

小智 9

我自己也在寻找这个,只是contentPaddingAndroid 文档中偶然发现的。

在 XML 中:

app:contentPadding="10dp"
Run Code Online (Sandbox Code Playgroud)

在代码中:

.setContentPadding(left, top, right, bottom)
Run Code Online (Sandbox Code Playgroud)