#15396 closed defect (fixed)
dojox.mobile.ScrollableView keyboard issue on Android
Reported by: | Eric Wang | Owned by: | Eric Durocher |
---|---|---|---|
Priority: | undecided | Milestone: | 1.8 |
Component: | DojoX Mobile | Version: | 1.7.2 |
Keywords: | todoapp | Cc: | ykami |
Blocked By: | Blocking: |
Description (last modified by )
On Android, when keyboard popup and directly transition to another view, the ScrollableView layout will failed. dojox.mobile.View works well. The layout failed including:
- ScrollableView height calculate wrong
- slide up/down cannot to the top or bottom
- fixed header/footer disappear
- when used in dojox.app, the transition failed (see todoApp)
See the attachment and the test case file. (put the test file in dojox/mobile/tests folder)
Attachments (2)
Change History (12)
Changed 9 years ago by
Attachment: | ScrollableView issue.zip added |
---|
comment:1 Changed 9 years ago by
Keywords: | todoapp added |
---|
comment:2 Changed 9 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 9 years ago by
comment:5 Changed 9 years ago by
Yes I see what causes the first 3 points, but the 4th seems different. EricWang, can you explain how to reproduce the 4th point in the todoApp please? Which version, exact steps, etc. Thanks!
Changed 9 years ago by
Attachment: | 15396.patch added |
---|
Detect virtual keyboard show/hide on Android and update layout - Eric Durocher (IBM, CCLA)
comment:6 Changed 9 years ago by
Cc: | ykami added |
---|
Attaching a patch that seems to fix the first 3 points. The idea is to watch resize events caused by keyboard showing/hiding (we use a heuristic to detect this: width not changing + height changing by more than 100px, seems to work OK on all tested devices). EricWang if you can check that it works for you, thanks.
comment:7 Changed 9 years ago by
edurocher, it looks like you came up with a safer, less side-effect solution, though I'm not sure if the detection logic is always reliable. One concern is that some of the devices fire excessive number of onresize events, which could affect the performance. Anyway, that looks much better than simply changing onorientationchange to onresize. Good work. :)
comment:8 Changed 9 years ago by
Thanks for the feedback, the detection seems reliable on all tested Android devices. As for performance, in most cases the resize handler will just fetch the screen size (innerWidth/Height usually) and compare with the previous size, this should be really quick.
comment:9 Changed 9 years ago by
Milestone: | tbd → 1.8 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
#15395 is a duplicate of this ticket.