Highlighted

[Android] StageWebView HTML text input does not pan app when softkeyboard is displayed

Participant ,
May 31, 2016

Copy link to clipboard

Copied

The softkeyboard covers up content when selecting a text input field within an HTML page via the StageWebView.

The StageWebView content should pan so that the text field being targeted in always visible so users can see which text they are entering. This panning should be handled automatically by Air.

I've listed this as a bug on Bugbase: Bug#4159718 - [Android] StageWebView HTML text input does not pan app when softkeyboard is displayed

This a real show stopper for us on a major app at the moment and I can't believe it's not been fixed. Looking at this thread on the Starling forum, from 2 years ago, it seems to have been an issue for a very long time! http://forum.starling-framework.org/topic/soft-keyboard-goes-over-stagewebview

Just wondered if anyone else has experienced this and would like to either offer a solution/workaround or vote for the bug

Thanks.

TOPICS
Air beta

Views

1.2K

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

[Android] StageWebView HTML text input does not pan app when softkeyboard is displayed

Participant ,
May 31, 2016

Copy link to clipboard

Copied

The softkeyboard covers up content when selecting a text input field within an HTML page via the StageWebView.

The StageWebView content should pan so that the text field being targeted in always visible so users can see which text they are entering. This panning should be handled automatically by Air.

I've listed this as a bug on Bugbase: Bug#4159718 - [Android] StageWebView HTML text input does not pan app when softkeyboard is displayed

This a real show stopper for us on a major app at the moment and I can't believe it's not been fixed. Looking at this thread on the Starling forum, from 2 years ago, it seems to have been an issue for a very long time! http://forum.starling-framework.org/topic/soft-keyboard-goes-over-stagewebview

Just wondered if anyone else has experienced this and would like to either offer a solution/workaround or vote for the bug

Thanks.

TOPICS
Air beta

Views

1.2K

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
May 31, 2016 0
New Here ,
Nov 28, 2018

Copy link to clipboard

Copied

I have this issue too, and it's still a problem with AIR 32.0 in Nov 2018

Hopefully someone on the team will think this is worthy of fixing and get it sorted for us...

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...
Nov 28, 2018 0
Engaged ,
Nov 29, 2018

Copy link to clipboard

Copied

I had the same issue on android and fix it with this: GitHub - freshplanet/ANE-KeyboardSize: Air Native Extension (Android) for measuring soft keyboard si...

I use it to monitor the soft keyboard and adapt the viewport accordingly.

A bit of a hack but it works fine.

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...
Nov 29, 2018 0
New Here ,
Dec 01, 2018

Copy link to clipboard

Copied

Thanks for the reply

How exactly are you adjusting the viewport?

Just moving the whole thing up?

Thanks

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 01, 2018 0
Engaged ,
Dec 01, 2018

Copy link to clipboard

Copied

I change the height of the viewport

Here is my code:

private var checkKBsi:uint;

private var monitoringKB:Boolean= false;

private function set monitorKB(on:Boolean)

{

     if(!gvars.isAndroid) return;

     clearInterval(checkKBsi);

     stage.removeEventListener(Event.DEACTIVATE, deactivate);

     stage.removeEventListener(Event.ACTIVATE, activate);

     if(on)

     {

          stage.addEventListener(Event.DEACTIVATE, deactivate);

          var MK:MeasureKeyboard = MeasureKeyboard.getInstance();

          checkKBsi = setInterval(onKeyboardChange, 600);

          function onKeyboardChange( ):void

          {

               var kby:int = MK.getKeyboardY();

               if(kby != webView.viewPort.height) webView.viewPort = new Rectangle(0, 0,w, kby);

          }

     }

     else if(h != webView.viewPort.height) webView.viewPort = new Rectangle(0, 0,w, h);

     monitoringKB = on;

}

private function deactivate(e:*)

{

     stage.removeEventListener(Event.DEACTIVATE, deactivate);

     clearInterval(checkKBsi);

     stage.addEventListener(Event.ACTIVATE, activate);

}

private function activate(e:*)

{

     monitorKB = monitoringKB;

}

I optimized a bit by setting monitorKB to true when the user is in an input field. So it means that you have to setup a js -> as3 communication (via LOCATION_CHANGING).

If you haven't set up the LOCATION_CHANGING I wouldn't bother and just set monitorKB to true when the stagewebview is on the stage.

Hope it helps.

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 01, 2018 0
New Here ,
Dec 01, 2018

Copy link to clipboard

Copied

Turns out that the panning works fine without doing anything special all long as you are rendering on the CPU.

I had changed it to GPU, and that's why it wasn't working.

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 01, 2018 0
marcanw LATEST
Engaged ,
Dec 01, 2018

Copy link to clipboard

Copied

Rendering on direct here, CPU would be the only mode that handle keyboard panning.

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 01, 2018 0