Simply set the property backgroundColor with an rgba() value. RGBA means RGB (red, green, blue) + Alpha where you set the opacity.

If you want it to be invisible, set it to 0, else 1. If you want it to be semi transparent then set values between 0 and 1.

This is an example on how to set the background of a Surface to transparent.

And this is how to set it back to normal.

So I was working with an array of ImageSurface that after doing a shuffle procedure, once displayed, the images of the ImageSurface overlapped incorrectly.

I mean, when I created each ImageSurface at startup and added them to the view, it displayed correctly, overlapping each other sequentially in the correct manner.

However, once that shuffle procedure happened the overlapping got messed up. I did not understand what was happening until I came across a post in the StackOverflow forum that said when you instantiate an ImageSurface, regardless if you had not added it to the context or view, it is automatically added in the rendering tree.

So if you do this:

And add these ImageSurface objects to a view like this:

The surface2 object will always be below surface1. So since my case had to do with shuffling the ImageSurface, the solution was to call the setOptions() method and set its z-index order like this:

In this example, surface2 will then always be on top of surface1.

Related Posts Plugin for WordPress, Blogger...