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
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 58/100
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
Plugin
Keyboard 8.0.6
Current Behavior
Keyboard.java has two inset hooks:
setOnApplyWindowInsetsListener(L61–73) — reads the IME visibility but only callspossiblyResizeChildOfContent; it emits no event;setWindowInsetsAnimationCallback(L76–128) — the only placekeyboardWillShow/keyboardDidShow/keyboardWillHide/keyboardDidHideare fired, fromonStart/onEndof 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
- Android app with
Keyboard.addListener('keyboardDidShow', e => console.log(e.keyboardHeight)). - Focus a text field (one event), then tap Gboard's emoji button: the keyboard grows, no event.
- 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
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ionic-team/capacitor-plugins
-
triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ionic-team/capacitor-plugins#2616 ·
-
[@capacitor/app] iOS: 'Expression implicitly coerced from String? to Any' warning in getAppLanguageApertatriage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
ionic-team/capacitor-plugins#2604 ·
-
triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
ionic-team/capacitor-plugins#2615 ·
-
platform: android platform: ios
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
ionic-team/capacitor-plugins#2613 ·
-
bug(browser): Browser.close() on Android re-opens the last URL after a deep link back into the appForse già presa @pramoth l’ha presa 6 giorni fa. Apertaplatform: android platform: ios
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ionic-team/capacitor-plugins#2610 ·
Tutte le issue di ionic-team/capacitor-plugins
Issue simili
-
approved
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
checkstyle/checkstyle#22129 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
objectionary/lints#1577 ·
I maintainer di solito rispondono entro 2 giorni
-
ChaosEngine: backup-remote doctor row passes while consumer mode hides bot memory from gitForse già presa @MohabMohie l’ha presa oggi. Apertaagentic
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ShaftHQ/SHAFT_ENGINE#7263 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100