创建圆形ImageView的最佳方法是什么? [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建圆形ImageView的最佳方法是什么? [关闭]相关的知识,希望对你有一定的参考价值。
我知道有很多第三方库可以创建一个CircularImageView,但我知道它们都不是很有效(有些不支持动画/转换,有些会有性能问题)。
- 我需要创建一个类似于Whatsapp Contacts屏幕的屏幕(带有圆形ImageView的列表和一些文本)。
- 需要在线列表中加载数据。
- 我不想裁剪图像或创建位图副本(像这样 - How to Make an ImageView in Circular Shape?)
- 点击圆形图像时需要有触摸反馈(波纹效果)
我可以在没有任何第三方库的情况下实现此目如果没有,请让我知道最好的方法。
答案
你可以使用下一个library。添加Gradle
依赖:
compile 'de.hdodenhof:circleimageview:2.2.0'
然后只需添加XML
视图:
<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"/>
另一答案
使用滑动来同时加载图像和圆形图像。
滑翔:compile 'com.github.bumptech.glide:glide:3.8.0'
Glide.with(context).load(your url).asBitmap().centerCrop().dontAnimate().placeholder(R.drawable.placeholder_card_view).error(R.drawable.placeholder_card_view).into(new BitmapImageViewTarget(imageView) {
@Override
protected void setResource(Bitmap resource) {
RoundedBitmapDrawable circularBitmapDrawable =
RoundedBitmapDrawableFactory.create(context.getResources(), resource);
circularBitmapDrawable.setCircular(true);
imageView.setImageDrawable(circularBitmapDrawable);
}
});
以上是关于创建圆形ImageView的最佳方法是什么? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在不创建新位图的情况下拥有圆形、中心裁剪的 imageView?
如何在圆形 imageView android 上添加一个阴影和边界