Skip to content

[MaterialAlertDialogBuilder] The background inset used by MaterialAlertDialog prevents it from panning up sufficiently when keyboard opens to prevent overlap #4273

@Sahara150

Description

@Sahara150

MRP.zip

Description: When using the MaterialAlertDialogBuilder to create a popup of sufficient size with an edit text, as soon as the edit text gains focus and the softboard appears, the popup does not slide up sufficiently to prevent an overlay but stops a significant amount of space from the top.

Expected behavior:
The popup should slide as far as it needs to to prevent overlap, as does a popup created with normal AlertDialog:
grafik

Source code: The issue is caused by the backgroundInset defined in MaterialAlertDialog.MaterialComponents.
Overriding the alertDialogStyle of the MaterialAlertDialog with a style that overrides those insets with 0 fixes the issue. However, this is still a bug because the top and bottom distance to the edges should be abandoned if space requires to.
The method loading them is

MaterialDialogs.getDialogBackgroundInsets(context, DEF_STYLE_ATTR, DEF_STYLE_RES);

Minimal sample app repro: ZIP appended

Android API version: API 28, API 31, seems to appear independently of API

Material Library version: 1.12.0

Device: Samsung, Pixel 7, does not matter as long as it is small enough

We also happily accept pull requests.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions