kotlin 我需要显示圆形的轮廓图像

nnsrf1az  于 2023-01-26  发布在  Kotlin
关注(0)|答案(2)|浏览(157)
<com.google.android.material.imageview.ShapeableImageView
    android:id="@+id/image"
    android:layout_width="52dp"
    android:layout_height="52dp"
    android:layout_gravity="center"
    android:layout_marginEnd="@dimen/_16dp"
    android:background="@drawable/ic_group_profile_image"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_group_profile_image"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@id/save"
    app:layout_constraintTop_toTopOf="parent" />

binding.appbar.groupImage.apply {
                    shapeAppearanceModel = shapeAppearanceModel
                        .toBuilder()
                        .setAllCorners(CornerFamily.ROUNDED, 8f)
                        .build()
                    load(path)
                }

这是我的xml和Kotlin代码的圆形图像,

这是我得到的输出

我需要这样显示

请帮我解决这个问题。

33qvvth1

33qvvth11#

您可以在style.xml文件中使用此样式:

<style name="circleImageView" parent="">
  <item name="cornerFamily">rounded</item>
  <item name="cornerSize">50%</item>
</style>
mpgws1up

mpgws1up2#

为此,您可以使用CircleImageView库,它非常容易使用,并为您提供圆形的轮廓图片。
第一步是向您的android项目添加gradel依赖项。

dependencies {
...
implementation 'de.hdodenhof:circleimageview:3.1.0'
}

在此之后,在您的布局文件中或您想要使用圆形剖面图的地方使用下面给出的代码段。

<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/profile_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/profile"
app:civ_border_width="2dp"
app:civ_border_color="#FF000000"/>

要了解更多信息,您可以查看GitHub link

相关问题