material-components / material-components/material-components-android

[MaterialAlertDialogBuilder] Vertical background insets are too large when soft keybard is shown

Offen
#3,418 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug Widget: Dialog
Vorherrschende Sprache
Java
Sterne
17.4k
Forks
3.2k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

MaterialAlertDialogBuilder defines a bigger vertical margin for dialogs via attributes backgroundInsetTop and backgroundInsetBottom
The default is defined via dimens mtrl_alert_dialog_background_inset_top and mtrl_alert_dialog_background_inset_bottom to be 80dp on normal screens with portrait orientation. This is generally fine, but gives an unfortunate result when the soft keyboard is shown and reduces the dialog height.
Compare the appcompat builder with the material builder with the keyboard hidden:
Screenshot_1684693459
Screenshot_1684693484
and the keyboard shown:
Screenshot_1684693432
Screenshot_1684693365

While the appcompat dialog is perfectly usable, the material dialog is too small, and makes the dialog difficult to use, in the case of this example hiding too much of the content from the user.

I do not know if this can be achieved by using configuration qualifiers, but ideally the vertical inset should react to the available window height taking the presence of the soft keyboard into account.

Material Library version: 1.9.0 and 1.10.0-alpha03

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne bei MaterialAlertDialogBuilder und den Attributen backgroundInsetTop/backgroundInsetBottom, einschließlich der Dimensionen mtrl_alert_dialog_background_inset_top und mtrl_alert_dialog_background_inset_bottom. Reproduziere den Dialog mit und ohne die Bildschirmtastatur und ermittle anschließend, wie die Insets auf die verfügbare Fensterhöhe reagieren sollten; abgeschlossen ist die Aufgabe, wenn der Material-Dialog bei angezeigter Tastatur nutzbar bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, java
Bereich
design, mobile
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.