Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Android < 30 Keyboard insets adjustNothing & adjustPan Fix (#7453)
# Issue: Window insets does not apply when keyboard got closed in case of adjustPan, and in case of adjustNothing it will just ignore it and treat it like adjustResize. The difference between Pan and Resize as pointed [here](https://www.techrepublic.com/article/pro-tip-make-sense-of-pan-vs-resize-in-the-android-manifest/): adjustResize: The activity’s main window is always resized to make room for the soft keyboard on screen. adjustPan: The activity’s main window is not resized to make room for the soft keyboard. Rather, the contents of the window are automatically panned so that the current focus is never obscured by the keyboard and users can always see what they are typing. **This is generally less desirable than resizing, because the user may need to close the soft keyboard to get at and interact with obscured parts of the window.** # Fix: - Due to the nature of adjustPan, we need to wait for the layout to be updated after the keyboard closed, and then apply insets to determine the final state. - Take adjustNothing into consideration and don't adjust the insets. Adjust Nothing: https://user-images.githubusercontent.com/7227793/153453913-7af3fcb7-87f6-4cfa-aaf8-e2f32b023c61.mov Adjust Pan: https://user-images.githubusercontent.com/7227793/153453981-73ccf0c9-e42e-41e3-bede-8f561f9ba53a.mov AdjustPan old Androids (the white space fixed in master, which is not included in the recorded demo) https://user-images.githubusercontent.com/7227793/153454164-300c115b-9e7a-407c-b612-c0ca8ac158ea.mov **NOTE: As checked, if flags are set to adjustResize, then there is no issue at all across all versions.** Closes: #7433. Closes: #7427. Closes: #7428. Closes: #7402. Co-authored-by: Yogev Ben David <yogev132@gmail.com>
- Loading branch information