2

我有一个打开对话框的活动,对话框类扩展了 Dialog。使用 dialog.show。

现在 - 当软键盘膨胀所有布局挤压时,而不是在对话框顶部打开键盘。

在对话框的布局中,我在线性布局中有 3 个滚动视图(其中只有 1 个可见)。

我尝试使用: dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

但它不起作用。

约夫

4

2 回答 2

3

查看您可以在清单中使用的此属性。您可能希望为该活动使用adjustPan:http: //developer.android.com/guide/topics/manifest/activity-element.html#wsoft

于 2012-06-17T22:05:39.293 回答
0

我遇到了同样的问题,我尝试了每一个:

1 - android:windowSoftInputMode="adjustPan" -> Manifest(或 adjustNothing)上的活动标签或对话框布局 xml 文件的根标签中的相同属性

2- dialog.getWindow ().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); (或 SOFT_INPUT_ADJUST_NOTHING)

3- 在对话框的布局 xml 文件中,设置 android:windowFullscreen="true"。

在许多情况下,它们中的每一个都得到了解决。但是对于对话场景,类似于您的问题,我唯一有效的解决方案是:

    DisplayMetrics displayMetrics = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    int heightPx = displayMetrics.heightPixels;
    int widthPx = displayMetrics.widthPixels;
    dialog.getWindow().setLayout(widthPx, heightPx);

为给定的活动和对话框的布局文件在清单上设置了adjustPan 。

于 2018-05-12T21:32:21.047 回答