12

我想以编程方式在 FrameLayout 中设置前景色(而不是在 XML 属性中)。我有颜色代码RGB

如何将颜色转换为可绘制:

frm.setForeground(Drawable);
4

2 回答 2

21

您可以Drawable从颜色创建:

final int color = 0xFFFF0000;
final Drawable drawable = new ColorDrawable(color);
于 2013-01-23T07:55:55.387 回答
4

从颜色创建Drawable使用ContextCompat

int color = R.color.black_trans_60;
frm.setForeground(new ColorDrawable(ContextCompat.getColor(mContext, color)));

使用ContextCompat新 API 中的直接颜色而不是直接ColorDrawable颜色ColorDrawable(@ColorInt int color)

于 2016-03-10T08:30:33.587 回答