Well, I will try to explain what is wrong in your layout.
On L0 you have 3 Panels:
Panel1 full screen.
Panel2, is a child of Panel1 and covers the bottom half part of the screen.
You set Panel2.SetTopAndBottom(50%y, 100%y), which is OK.
Panel2t, is a child of Panel2 with the same size. And you set it with:
Panel2t.SetTopAndBottom(50%y, 100%y), which is wrong !!!
Because the reference of the top coordinate of Panel2t is Panel2!!
You set the Top property to 50% which is the height of Panel2, therefore you won't see it because you moved it of the size of Panel2!!!
You should set Panel2t to:
Panel2t.SetTopAndBottom(0%y, 50%y)
And now you will see it. To test it, set the color of Panel2t not transparent.
Layout L2 is OK because you set the top and bottom values.
Panel4.SetTopAndBottom(50%y,100%y)
Because you want it to cover only the bottom half of Panel2 (Panel2t).
Then the reason, why you did need to add a transparent panel Panel2t on top of Panel2 with the same dimensions is!
Without Panel2t, when you load L2, which has a transparent background it set the background of Panel2 to transparent.
You set Panel2t to transparent, but the transparency of Panel2t at the end doesn't come from the background you set, but from the background of layout l2.
Set the background of Panel2t to any non transparent value and it works the same.
But, anyway, I didn't understand what exactly you want to do.
Now, with your explanation in post#10 I understand better.
Your approach looks very complicated to me.
I would work with one Activity and Panels and show or hide the Panels depending on the different cases.
Or, maybe use classes.
While I was writing I saw there were already some other posts, but I thought I finish it.