DanielLC
DanielLC

Reputation: 7151

setBackgroundColor() and setBackground() are mutually exclusive in android

I'm trying to make a circle of one color on a background of another.

background = new ShapeDrawable(new OvalShape());
background.getPaint().setColor(main.getResources().getColor(R.color.XXX));
view.SetBackground(background);

will work for the colored circle, and

view.setBackgroundColor(getResources().getColor(R.color.XXX));

will work for the background, but they're mutually exclusive. It just ends up with what I did last. Is there a way to make the circle on another overlapping view or something like that?

Upvotes: 2

Views: 2380

Answers (1)

Bartek Filipowicz
Bartek Filipowicz

Reputation: 1235

setBackgroundColor() is basically a short cut for changing the view's background to a colour drawable.

To do what you want you could try one of the 2 things described below:

  1. Put a view in a FrameLayout, set the background colour in the FrameLayout, and put the shape in the view.

  2. You could also try to use ImageView, which can have a background and another drawable with setImageDrawable() method.

Upvotes: 2

Related Questions