Android 材质库 ShapeableImageView 未显示带有 app:shapeAppearanceOverlay 的预览

Cod*_*ver 5 android material-components-android

使用ShapeableImageView材质组件并设置shapeAppearanceOverlay为圆形图像时出现问题。它不会出现在视口中。似乎我们将可见性设置为GONE。但是,它在设备上完美显示。

有什么办法可以解决吗?或者因为它仍在1.2.0-alpha05开发中或已知错误?

视口截图

在此处输入图片说明

设备截图

在此处输入图片说明

材料库

implementation 'com.google.android.material:material:1.2.0-alpha05'
Run Code Online (Sandbox Code Playgroud)

XML 代码

<com.google.android.material.imageview.ShapeableImageView
    android:id="@+id/v_blog_card_avatar"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:src="@drawable/splash_background"
    android:scaleType="centerCrop"
    app:shapeAppearanceOverlay="@style/ImageCircleTheme"
    app:layout_constraintTop_toBottomOf="@+id/v_blog_card_divider"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    android:layout_marginBottom="16dp"
    android:layout_marginStart="16dp"/>
Run Code Online (Sandbox Code Playgroud)

风格

<style name="ImageCircleTheme">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">50%</item>
</style>
Run Code Online (Sandbox Code Playgroud)

小智 5

尝试这个,

style.xml

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

   <!-- ShapeableImageView theme. (note that the parent matches the Base App theme) -->
    <style name="ShapeAppearance.ImageView" parent="Theme.MaterialComponents.Light.DarkActionBar">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">50%</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

my_layout.xml

<com.google.android.material.imageview.ShapeableImageView
        android:id="@+id/sivAdvImage"
        android:layout_width="0dp"
        android:layout_height="150dp"
        android:src="@drawable/test_image"
        android:scaleType="centerCrop"
        app:shapeAppearance="@style/ShapeAppearance.ImageView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
Run Code Online (Sandbox Code Playgroud)

适用于:com.google.android.material:material:1.3.0-alpha03