WindowInsets Handling & Keyboard Animations
Until now keyboards and Androids seemed to go in opposite directions. There was no API you could query to learn if the keyboard was open or to know its size. When the keyboard popped up, the screen and views would automatically rearrange themselves without a smooth transition. In this course learn how to interact with the keyboard via WindowInsets. Read its properties, know if it’s open, and create smooth, synchronous, animations. By Carlos Mota.
Learning path
This is part of the Android UI & UX: Beyond the Basics learning path. View path.
Who is this for?
This course is for intermediate Android developers that are looking to improve their keyboard interaction through animations and reading its state changes.
Covered concepts
- WindowInsets
- WindowInsets Animations
- Window change listeners
- IME
- Keyboard Animations
- Keyboard Properties
- Animation Controller
- Jetpack Compose
- Jetpack Compose Animations
- LazyColumn
- Modifiers
- State Changes
Part 1: Keyboard Handling in Android
The new IME features released with the WindowInsets API are not available on all Android versions.
Learn how to calculate different properties on those versions.
Learn how to know if the keyboard is open or not with the new WindowInsets functionalities introduced in API 30.
Learn how to read the keyboard height with the new WindowInsets functionalities introduced in API 30.
Learn how to modify your app insets in order to support animating the keyboard.
Learn how to smoothly open and/or close the keyboard.
Learn how to animate views synchronously with the keyboard being opened and/or closed.
Part 2: Keyboard Handling in Jetpack Compose
Learn how to know if the keyboard is open or not with the new WindowInsets functionalities introduced in API 30.
Learn how to modify your app insets in order to support animating the keyboard.
Learn how to animate the keyboard and its surrounding views synchronously.