ShapeableImageView 不圆角

问题描述

ShapeableImageView 采用 ShapeAppearanceOverlay 样式项来创建所需的形状和大小。形状系列被切割和倒圆,半径可以用作数字或百分比。 这是我的圆形图像视图的 ShapeAppearanceOverlay 主题

rightframe.rowconfigure(0,weight = 1)
rightframe.columnconfigure(0,weight = 1)

这是我使用它的布局:

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

这是问题的屏幕截图:

enter image description here

IDE 截图:

enter image description here

解决方法

使用app:shapeAppearanceOverlay代替style

<com.google.android.material.imageview.ShapeableImageView
    app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.circleImageView"
    .../>
,

或者如果您想通过 style 属性使用它:

    <style name="Style.App.circleImageView" parent="">
        <item name="shapeAppearance">@style/ShapeAppearanceOverlay.App.circleImageView</item>
    </style>

    <style name="ShapeAppearanceOverlay.App.circleImageView" parent="">
        <item name="cornerFamily">cut</item>
        <item name="cornerSize">50%</item>
    </style>
...
 <com.google.android.material.imageview.ShapeableImageView
                    android:id="@+id/user_display_image"
                    style="@style/Style.App.circleImageView"
                    android:layout_width="100dp"
                    android:layout_height="100dp"
                    android:src="@drawable/ic_user" />
...