Highlighted

Issues with softkeyboard not showing on textinput focus after a StageWebView has displayed for the first time.

Guru ,
Dec 23, 2016

Copy link to clipboard

Copied

This is with Air 24, and affects both iOS and Android, but I tried with older Air SDKs with the same results.

I have tried all sorts of things, including

stageWebView.stage=null;
stageWebView.dispose();
stageWebView = null;
_stage.focus=_stage;
_stage.displayState = StageDisplayState.FULL_SCREEN;
_stage.focus=_stage

I am using the Flex SDK for textinput components and they all work fine as long as I have never displayed a StageWebView yet. As soon as I have done that, the TextInputs can receive touch (and flashing text cursor can appear in the right place) but no SoftKeyboard will appear so it is impossible to enter text.

In an extra piece of weirdness, in an application 'exit' (android) the softkeyboarddeactivate event can fire on a textinput that has focus even though no softkeyboardActivate event had occurred beforehand for that same textinput. And requestSoftKeyboard does nothing on android after the StageWebView has been shown previously.

I have tested so far on Galaxy S4, Galaxy S6edge, Galaxy Note 10.1 2014, Ipad 4, but others have seen the same thing on a wide range of devices.

Can anyone shed some light on this issue - am I not doing something, or is this known (and are there any workarounds?). I have been chasing my tail on this one.

Thanks

-Greg

Additional note: After a StageWebView has appeared, it seems impossible to subsequently have any KEY_DOWN listeners fire and trap the android back key (so you cannot 'navigate' back out of the StageWebView to the app or manage the history functions in the stagewebview). This state persists after the StageWebView has been programmatically cleared so the original back key responder that was working perfectly prior to displaying the StageWebView no longer works. The default back key behaviour is used and the application is backgrounded. I mention this here because perhaps it is related, however I will create a specific discussion thread for this. It obviously worked at some point in AIR SDK history because there are code examples that show how this should be working. I know the keydown listener is working before the StageWebView  is displayed, but it does not work during or after it has been displayed.

The issue was resolved.

_stage.displayState = StageDisplayState.FULL_SCREEN;

needed to be changed to:

_stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

The fact that mouse events etc still occur in the 'non-interactive' mode was deceiving me.... the INTERACTIVE is required for soft keyboard (and it turns out, also to receive the back key on android).

TOPICS
Air beta

Views

476

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Issues with softkeyboard not showing on textinput focus after a StageWebView has displayed for the first time.

Guru ,
Dec 23, 2016

Copy link to clipboard

Copied

This is with Air 24, and affects both iOS and Android, but I tried with older Air SDKs with the same results.

I have tried all sorts of things, including

stageWebView.stage=null;
stageWebView.dispose();
stageWebView = null;
_stage.focus=_stage;
_stage.displayState = StageDisplayState.FULL_SCREEN;
_stage.focus=_stage

I am using the Flex SDK for textinput components and they all work fine as long as I have never displayed a StageWebView yet. As soon as I have done that, the TextInputs can receive touch (and flashing text cursor can appear in the right place) but no SoftKeyboard will appear so it is impossible to enter text.

In an extra piece of weirdness, in an application 'exit' (android) the softkeyboarddeactivate event can fire on a textinput that has focus even though no softkeyboardActivate event had occurred beforehand for that same textinput. And requestSoftKeyboard does nothing on android after the StageWebView has been shown previously.

I have tested so far on Galaxy S4, Galaxy S6edge, Galaxy Note 10.1 2014, Ipad 4, but others have seen the same thing on a wide range of devices.

Can anyone shed some light on this issue - am I not doing something, or is this known (and are there any workarounds?). I have been chasing my tail on this one.

Thanks

-Greg

Additional note: After a StageWebView has appeared, it seems impossible to subsequently have any KEY_DOWN listeners fire and trap the android back key (so you cannot 'navigate' back out of the StageWebView to the app or manage the history functions in the stagewebview). This state persists after the StageWebView has been programmatically cleared so the original back key responder that was working perfectly prior to displaying the StageWebView no longer works. The default back key behaviour is used and the application is backgrounded. I mention this here because perhaps it is related, however I will create a specific discussion thread for this. It obviously worked at some point in AIR SDK history because there are code examples that show how this should be working. I know the keydown listener is working before the StageWebView  is displayed, but it does not work during or after it has been displayed.

The issue was resolved.

_stage.displayState = StageDisplayState.FULL_SCREEN;

needed to be changed to:

_stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

The fact that mouse events etc still occur in the 'non-interactive' mode was deceiving me.... the INTERACTIVE is required for soft keyboard (and it turns out, also to receive the back key on android).

TOPICS
Air beta

Views

477

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Dec 23, 2016 0
Guru ,
Dec 28, 2016

Copy link to clipboard

Copied

The issue was resolved.

_stage.displayState = StageDisplayState.FULL_SCREEN;

needed to be changed to:

_stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

The fact that mouse events etc still occur in the 'non-interactive' mode was deceiving me.... the INTERACTIVE is required for soft keyboard (and it turns out, also to receive the back key on android).

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 28, 2016 0