I have a grid with a few buttons and a SKGLView.
When any of the children of the grid are hidden the background colour of the Grid goes black
(Until invalidate layout is called).
Manually calling the InvalidateLayout() layout function immediately after restoring the child element doesn't resolve the issue, regardless of the thread that invalidate is called from.
This is only with android and only with SKGLView, it doesn't happen with SKCanvasView.
The following does solve the problem but isn't practical:
After the layout has changed allow the user to press a button that calls InvalidateLayout(). This immediately resolves the background colour issue.
I believe this works because it is called well after all of the paint calls are made.
SKCanvasView functions correctly however cannot be used for various reasons.