Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

bug(keyboard): Android emits keyboard events only from `WindowInsetsAnimationCompat.Callback` — a keyboard height change without an animation (emoji panel, suggestion strip, floating/split layout) is never reported

Aperta
#2,614 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
58/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
android, java
Ambito
backend, mobile

Direzione di ricerca

Read Keyboard.java, especially the setOnApplyWindowInsetsListener and setWindowInsetsAnimationCallback hooks described in the issue. Trace how IME inset visibility and height are read, then check the existing keyboard event tests or listener coverage. Done means an IME height change without an animation reports the updated keyboardHeight, including emoji panel and rotation cases.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

triage
Plugin

Keyboard 8.0.6

Current Behavior

Keyboard.java has two inset hooks:

  • setOnApplyWindowInsetsListener (L61–73) — reads the IME visibility but only calls possiblyResizeChildOfContent; it emits no event;
  • setWindowInsetsAnimationCallback (L76–128) — the only place keyboardWillShow / keyboardDidShow / keyboardWillHide / keyboardDidHide are fired, from onStart / onEnd of an inset animation.

The IME changes height without an animation in several common cases: Gboard switching to the emoji / sticker / GIF panel (taller), the suggestion strip appearing or disappearing, a password field toggling the suggestion row, a floating or split keyboard, and the keyboard staying up across a rotation. None of these runs a WindowInsetsAnimation, so none of them produces an event; the last keyboardHeight the app received is stale and the footer / content inset it computed from it is wrong by the difference (≈ 60–120 dp for the emoji panel on a Pixel-class device).

Expected Behavior

keyboardDidShow (or a dedicated event) with the new keyboardHeight whenever the IME inset changes, animated or not.

Steps to Reproduce
  1. Android app with Keyboard.addListener('keyboardDidShow', e => console.log(e.keyboardHeight)).
  2. Focus a text field (one event), then tap Gboard's emoji button: the keyboard grows, no event.
  3. Rotate the device with the keyboard open: new height, no event.
Lingua principale
Java
Stelle
687
Fork
691
Merge medio
16h 33m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ionic-team/capacitor-plugins

Tutte le issue di ionic-team/capacitor-plugins

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.