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.

Leave a rating/review
Download materials
Save for later
Comments
Share

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.

Toggle description

Learn how to know if the keyboard is open or not with the new WindowInsets functionalities introduced in API 30.

Toggle description

Learn how to read the keyboard height with the new WindowInsets functionalities introduced in API 30.

Toggle description

Learn how to modify your app insets in order to support animating the keyboard.

Toggle description

Learn how to smoothly open and/or close the keyboard.

Toggle description

Learn how to animate views synchronously with the keyboard being opened and/or closed.

Part 2: Keyboard Handling in Jetpack Compose

Toggle description

Learn how to know if the keyboard is open or not with the new WindowInsets functionalities introduced in API 30.

Toggle description

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.