11-02-2012 07:33 PM
Please refere to belove image
I am using this layout of managers and dynamically change the position of "Inner Manager 02" to cover "Inner Manager 01".
So I need to ensure when at above state the "Inner Manager 01" to be disabled and it won't take focus at all(any controls within it too). And enure when at that state all touch events would be capture by "Inner Manager 02".
Could anyone provide me a direction to acheive this? any help would be highly appriciated.
11-03-2012 05:32 AM
Many thanks for your reply.
The inner manager 2 is like a panel . when you click on that it moves up and cover the inner manager 1 . Then when you click again it moves down and reveal the inner manager 1. This movement is animated, so deleting the inner manager 1 will obvious to the user, ideally it should look like moving the bottom panel up by covering the top panel.
The outer manager is used as host manager to control this behaviour by upadating layout(position of inner manager 2).
Is there anyother way that could acheive this beahviour?
Thank you in advance.
11-03-2012 07:43 AM
I missed the animation requirement in the original question. Apologies.
I have never tried updating the layout in the way you have described. Do you find that animating in that way is smooth enough and performs well enough?
Sorry I don't have an answer to your question. I'd only be guessing.
I would try overriding the various interaction methods of the Manager (like focusMovement, navigationMovement etc, so that these do absolutely nothing during the animation. You may also need to move focus if the currently focused Field is being hidden.
Once the animation is over I would suspect you will need to override other functions that could identify the hidden Fields, for example, getFieldAtLocation(), to make sure that only the visible Fields are selected. I think if you do that, you should be OK. Of course the other option is to process as follows:
a) When hiding inner Manager 1, you turn the animation flag on, which disables all input, then animate, and once the Fields are all hidden, delete them and finally turn the animation flag off again to enable input.
b) when exposing, you turn animation on, which disables all input, add the Field back, then slowly expose them and finally, when fully exposed, you turn the animation flag off again.
And this has just prompted another option.
Instead of doing things in the Outer manager, the inner Manager 1 could just update its size and slowly shrink its vertical height to nothing and then delete the Fields. And the reverse when exposing itself. I suspect this would actually work better than updating the position in the Outer Manager.
Anyway, as I said, I have never done this, this is just how I would consider doing it. Hopefully someone else will chip in with a better option, or you will try this and it will work for you. Please come back to us to tell us what you find.
And good luck.
11-03-2012 09:48 PM