如何使用 Picasso 显示动态可绘制对象

How to show dynamic drawable using Picasso

我有一些从 material 设计图标

动态生成的可绘制对象
  Drawable qq = new IconDrawable(context, FontAwesomeIcons.fa_qq).
                colorRes(R.color.qq).sizeRes(R.dimen.button_height_normal);

我想使用 Picasso 显示此 Drawable,但是当尝试加载此 Drawable 时出现错误,因为 Picasso load 仅接受 url 作为 Drawable,我无法获取或获取它 Resource Id
有什么办法吗?

我已经做了一个解决方法,因为我没有看到直接设置动态生成的可绘制对象的方法。 Picasso 有 "error" 和 "placeholder" 选项,它们都允许输入可绘制对象,因此如果您使加载失败,Picasso 将加载可绘制对象(例如,使用您想要的转换):

Picasso.with(context).load("nothing").error(placeholder).placeholder(placeholder).into(this)

其中 placeholder 是您要加载的可绘制对象