我试图使用支持库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(真);
那就行了

09-28 04:20