无法在 CircleImageView 中调整图片大小
Can't resize picture in CircleImageView
我有这个XML:
<de.hdodenhof.circleimageview.CircleImageView
android:src="@drawable/ic_kitty_superhero"
android:id="@+id/userAvatar"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:layout_marginBottom="16dp"
app:civ_border_color="@android:color/white" // just to show you wrong result
app:civ_border_width="1dp" />
和这个加载图像的扩展函数:
fun ImageView.loadImage(context: Context, url: String) {
val resourceID = context.resources.getIdentifier(url, "drawable", context.packageName)
if (resourceID != 0) { // if it's an image from drawable folder
Glide.with(context)
.load(resourceID)
.fitCenter()
.into(this)
} else {
Picasso.with(context)
.load(url)
.fit()
.centerInside()
.into(this)
}
}
由于 Picasso 不知道如何使用 resourceID
,我需要使用 Glide 或类似 this.setImageResource()
的工具。但它不能执行我想要的转换。
在第一张照片中,一切看起来都是我想要的样子,但它只是使用了 ImageView 容器。
在第二张照片中,我使用了 CircleImageView 容器,它看起来不再像我想要的那样 - 照片中的耳朵被裁剪了。
拜托,你能帮我吗,我怎样才能得到正确的结果?
注意:我不能使用.load(R.drawable.icon)
而且我不能 使用 ImageView 容器(如果让它以某种方式循环,我可能可以)
我通过使用 ImageView 容器和 Circle Transformation for Picasso
解决了我的问题
我有这个XML:
<de.hdodenhof.circleimageview.CircleImageView
android:src="@drawable/ic_kitty_superhero"
android:id="@+id/userAvatar"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:layout_marginBottom="16dp"
app:civ_border_color="@android:color/white" // just to show you wrong result
app:civ_border_width="1dp" />
和这个加载图像的扩展函数:
fun ImageView.loadImage(context: Context, url: String) {
val resourceID = context.resources.getIdentifier(url, "drawable", context.packageName)
if (resourceID != 0) { // if it's an image from drawable folder
Glide.with(context)
.load(resourceID)
.fitCenter()
.into(this)
} else {
Picasso.with(context)
.load(url)
.fit()
.centerInside()
.into(this)
}
}
由于 Picasso 不知道如何使用 resourceID
,我需要使用 Glide 或类似 this.setImageResource()
的工具。但它不能执行我想要的转换。
在第一张照片中,一切看起来都是我想要的样子,但它只是使用了 ImageView 容器。
在第二张照片中,我使用了 CircleImageView 容器,它看起来不再像我想要的那样 - 照片中的耳朵被裁剪了。
拜托,你能帮我吗,我怎样才能得到正确的结果?
注意:我不能使用.load(R.drawable.icon)
而且我不能 使用 ImageView 容器(如果让它以某种方式循环,我可能可以)
我通过使用 ImageView 容器和 Circle Transformation for Picasso
解决了我的问题