Android: 生成具有资源图像和颜色的 Drawable

Android: generate Drawable having resource image and Color

我正在使用 Glide 从 url 加载图像,并且需要一个占位符,该占位符是使用存储为资源的透明图案和随机背景颜色生成的。 Glide 允许使用 Drawable 作为占位符。 我有一个透明的可绘制资源 int resId = R.drawable.placeholder; 并且 Color randomColor = generateRandomColor(); 如何创建一个 Drawable,它是结合资源和背景随机颜色创建的,smth。喜欢 Drawable d = resId + randomColor; ? 结果:

Glide.with(getActivity).load(imageUl)
         .asBitmap().placeholder(d)
         .into(imageView); 

可以使用Drawable

的方法setColorFilter

所以代码将是这样的:

Drawable drawable = getDrawable(resourceId);
drawable.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);

Glide.with(getActivity).load(imageUl)
         .asBitmap().placeholder(drawable)
         .into(imageView); 

PorterDuff 有很多 modes,选择适合您的