set foreground color in FrameLayout in android pro

2020-08-11 15:47发布

问题:

I want to set foreground color in FrameLayout pragmatically (not in XML attribute). I have the color codes in RGB

How can I convert color to drawable...

frm.setForeground(Drawable);

Help!! Thanks

回答1:

You can create a Drawable from color:

final int color = 0xFFFF0000;
final Drawable drawable = new ColorDrawable(color);


回答2:

Create Drawable from Color Using ContextCompat

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

Use ContextCompat instead of direct color as in new API ColorDrawable takes ColorDrawable(@ColorInt int color)