我试图使用支持库v4的RoundedBitmapDrawable
来显示在imageviews中异步加载的圆形位图,可以是圆形矩形,也可以是圆形矩形。
但是,看起来RoundedBitmapDrawable与LayerDrawable
不太匹配:
如果我试着这样做:
if (previousDrawable != null) {
final Drawable[] layers = new Drawable[2];
layers[0] = previousDrawable;
layers[1] = roundedDrawable;
TransitionDrawable drawable = new TransitionDrawable(layers);
view.setImageDrawable(drawable);
drawable.startTransition(3000);
} else {
view.setImageDrawable(roundedDrawable);
}
transitionabledrawable启动,但它不尊重roundedBitmapDrawable,因此显示不正确:如果我将其设置为一个圆,则其尺寸似乎会以某种方式移动:
RoundedBitmapDrawable roundedDrawable = RoundedBitmapDrawableFactory
.create(getResources(), bitmap);
roundedDrawable.setCornerRadius(bitmap.getHeight() / 2);
roundedDrawable.setAntiAlias(true);
如果我使用
ImageView.setImageDrawable()
,它将正确显示,但如果可传递的drawable显示它,它将生成圆角矩形。有人知道为什么会出现这个显示问题吗?
最佳答案
集合
圆形可绘制。SetCircular(真);
那就行了