07-07-2011 05:12 PM
I have set up transition in between screens and it works fine normally. But when one of the screen's virtual keyboard is on, the transition stops working at all.
This is especially problematic when the new screen transfers focus to an EditField since the virtual keyboard will automatically be shown when the field receives focus. What can I do so that the edit field will initially receive focus, the virtual keyboard will be hidden, and the virtual keyboard will be shown if the user clicks on it or when the edit field receives focus ( except when the screen is first shown )?
Solved! Go to Solution.
07-07-2011 05:46 PM
After tinking around, I've found that you can get the screen to transition IN properly by modifying the text field's onDisplay to hide, onFocus to show, onUnfocus to hide the virtual keyboard. However, transitioning OUT while the virtual keyboard is open is problematic. Programmatically close the keyboard just before popping the screen results in the following:
- suppose you have screen A on top of B on top of C in the stack. screen C has the virtual keyboard open, you programmatically try to close the virtual keyboard on C just before popping it off revealing B underneath. What happens next is beyond anything I can explain: you see the animation of screen B transitioning IN on top of A as if screen B has just been pushed onto A.
- in the above case, if the virtual keyboard is closed, then the transition from C popping off from B is working as expected, so it'd seem that virtual keyboard is the cause of this unexpected behaviour.
I'm running this on the simulator for JRE 5.0 on BB 9550. I haven't tried on the actual device yet but I fear the worst. How do I handle this?
07-07-2011 06:22 PM
After more tinkering, I've found that by invoking UiApplication.getUiApplication().repaint() right after hiding the virtual keyboard, it forces a repaints on the screen and the transition is working again.