Skip to content

Content above keyboard jumps when keyboard is nearly opened (Only with edge-to-edge) #168768

@javiermrz

Description

@javiermrz

Steps to reproduce

  1. Create a Flutter project with a newer version i.e. 3.29. ❗It should have edge-to-edge activated by default (the bug only happens with e2e)❗
  2. Add a TextFormField.
  3. Run in a newer device. I reproduced it both in my Pixel 9 Pro emulator and my physical device Pixel 8 Pro (the latter was a release build).

Animation jump triggered by any of 2 different actions

  • Open the TextFormField by pressing on it. The content above the keyboard will make a small jump when finishing the animation.
  • Once the keyboard is opened, slide from an edge so the 'back' bubble appears but don't release the finger from the screen (see example video). The keyboard will jump down. Cancel the 'back' action (swipe to the edge again). The keyboard will jump up.

❗❗ This does not happen when edge-to-edge is not active. It only happens with edge-to-edge.

Expected results

The animation of the content above the keyboard should be smooth while opening and not jump.

This bug was already created some years ago and supposedly fixed, but it's happening (again?).

Old issues:

The supposed fix, which by a comment in the 2nd issue it was supposed to be released after 3.11 but it's still hapenning):

❗❗👉👉 Guys, opening a keyboard is a pretty main action of an app. I'm really worried about the opened issue not having been attended for years, in a feature that is now activated by default in flutter (edge-to-edge). Not sure why this is not a main concern.

Actual results

The content above the keyboard jumps when it's nearly opened.

Code sample

Reproducible public repository: https://github.com/javiermrz/edge_to_edge_keyboard_bug_reproducible

Screenshots or Video

Video demonstration
Screen.Recording.2025-05-13.at.23.34.36.mov

Logs

Logs
Performing hot restart...
Syncing files to device sdk gphone64 arm64...
Restarted application in 781ms.
I/ug_reproducible( 5999): AssetManager2(0xb4000076cbd63598) locale list changing from [] to [en-US]
E/libEGL  ( 5999): called unimplemented OpenGL ES API
D/InsetsController( 5999): Setting requestedVisibleTypes to -9 (was -1)
E/libEGL  ( 5999): called unimplemented OpenGL ES API
I/ImeTracker( 5999): com.example.bottom_input_bug_reproducible:79af6f08: onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT_REQUEST_HIDE_WITH_CONTROL fromUser true
W/WindowOnBackDispatcher( 5999): sendCancelIfRunning: isInProgress=false callback=android.view.ImeBackAnimationController@9c68457
D/InsetsController( 5999): hide(ime(), fromIme=false)
I/ImeTracker( 5999): com.example.bottom_input_bug_reproducible:79af6f08: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
I/ImeTracker( 5999): system_server:fbe0c45a: onCancelled at PHASE_CLIENT_ON_CONTROLS_CHANGED
E/libEGL  ( 5999): called unimplemented OpenGL ES API
I/ImeTracker( 5999): com.example.bottom_input_bug_reproducible:ad84d20c: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT fromUser false
D/InsetsController( 5999): show(ime(), fromIme=false)
D/InsetsController( 5999): Setting requestedVisibleTypes to -1 (was -9)
D/InputConnectionAdaptor( 5999): The input method toggled cursor monitoring on
I/ImeTracker( 5999): com.example.bottom_input_bug_reproducible:ad84d20c: onShown

The onShown message is the last one displayed after the keyboard finished opening.

Flutter Doctor output

Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.29.3, on macOS 15.4.1 24E263 darwin-arm64, locale en-ES)
[!] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/to/macos-android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 16.3)
[✓] Android Studio (version 2023.3)
[✓] IntelliJ IDEA Community Edition (version 2025.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2025.1)
[✓] Connected device (5 available)
[✓] Network resources

Metadata

Metadata

Labels

P1High-priority issues at the top of the work lista: text inputEntering text in a text field or keyboard related problemse: OS-version specificAffects only some versions of the relevant operating systemfound in release: 3.29Found to occur in 3.29found in release: 3.32Found to occur in 3.32has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-androidOwned by Android platform team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions