【问题标题】:How to apply spacing between ShapeableImageView and its stroke如何在 ShapeableImageView 及其描边之间应用间距
【发布时间】:2020-10-02 18:30:11
【问题描述】:

我因此使用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" />

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

我也尝试过移除描边属性并使用这个可绘制资源来设置视图的背景:

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

    <stroke
        android:width="9dp"
        android:color="#00FF00" />
</shape>

但边框根本没有出现。

请问,您知道我有什么方法可以实现吗?

【问题讨论】:

    标签: android view android-imageview material-components-android


    【解决方案1】:

    我自己也在寻找这个,只是在Android documentation 中偶然发现了contentPadding

    在 XML 中:

    app:contentPadding="10dp"
    

    在代码中:

    .setContentPadding(left, top, right, bottom)
    

    【讨论】:

    • 这对我在 shapeableimageview 上添加填充的问题有很大帮助!谢谢!!
    【解决方案2】:

    它并不优雅,但你可以尝试这样的事情:

    <com.google.android.material.card.MaterialCardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:elevation="0dp"
        app:cardBackgroundColor="@color/red600"
        app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerCircle"
        >
    
        <com.google.android.material.imageview.ShapeableImageView
            app:srcCompat="@drawable/..."
            android:padding="9dp"
            app:strokeWidth="1dp"
            app:strokeColor="@color/white"
            app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerCircle" />
    
    </com.google.android.material.card.MaterialCardView>
    

    <style name="ShapeAppearanceOverlay.App.CornerCircle" parent="">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">50%</item>
    </style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      • 2013-09-05
      相关资源
      最近更新 更多