如何使用RoundedBitmapDrawable

有没有人设法使用RoundedBitmapDrawable ? 纠正我,如果我错了,但根据我的理解,它从一个规则的矩形图像形成一个圆形图像。

我迄今为止所尝试的是这样的

RoundedBitmapDrawable.createRoundedBitmapDrawable(getResources(), BitmapFactory.decodeResource(getResources(), iconResource))

我试图实现的:将任何图像转换为圆形图像并使用ImageView进行显示。

如果我混淆了所有我说的是无意义的。 是否有可能(或更简单)使用任何新框架来实现? (Android L或新的支持库)


您需要设置拐角半径。

Resources res = getResources();
Bitmap src = BitmapFactory.decodeResource(res, iconResource);
RoundedBitmapDrawable dr =
    RoundedBitmapDrawableFactory.create(res, src);
dr.setCornerRadius(Math.max(src.getWidth(), src.getHeight()) / 2.0f);
imageView.setImageDrawable(dr);

这可能是一个迟到的回复,但我希望这会对其他人有所帮助

如果您的图像具有相同的宽度和高度,那么您可以简单地将setCircular设置为true以获取圆角位图,如下所示

RoundedBitmapDrawable drawable = RoundedBitmapDrawableFactory.create(getResources(),your_bitmap);
drawable.setCircular(true);

我也找到圆效的图像视图效率我搜索所有第三方库我发现他们都在创造新的位图,这是繁琐的任务在列表中消耗更多的内存

参考图书馆:

  • http://ruibm.com/2009/06/16/rounded-corner-bitmaps-on-android/
  • https://github.com/vinc3m1/RoundedImageView
  • https://github.com/lopspower/CircularImageView
  • 从这个图书馆我用过

    https://github.com/vinc3m1/RoundedImageView

    因为基于来自Romain Guy的原始示例的支持圆角(以及椭圆或圆圈)的快速ImageView(和Drawable)

  • 不会创建原始位图的副本
  • 不使用不硬件加速且不反锯齿的clipPath。
  • 不使用setXfermode剪切位图并在画布上绘制两次。
  • 链接地址: http://www.djcxy.com/p/31411.html

    上一篇: How to use RoundedBitmapDrawable

    下一篇: Using a rounded corners drawable