14

我有一个对话框片段,其中包含一些内容,包括 EditText 字段。
不幸的是,当我单击 EditText 字段时,软键盘覆盖了对话框的关闭按钮。这是我通过使用解决的问题

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

不幸的是,当我这样做时,对话框会缩小并且其中的其他项目会被覆盖。我尝试SOFT_INPUT_ADJUST_PAN改用,但只有在这种情况下调整了包含活动,对话框片段本身没有移动,并且关闭按钮仍然被覆盖。有什么办法可以只制作对话片段平底锅吗?

我的相关对话片段代码如下所示:

 @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
        mContactSupportView.findViewById(R.id.compose_message).clearFocus();
    }
4

2 回答 2

1

对话框布局属性。应该是 match_parent。当打开键盘打开然后拉伸你的对话框布局。比如三星galaxy“新建文件夹”对话框。

于 2013-09-27T09:51:27.663 回答
0

有同样的问题。用过的

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

在 DialogFragment 中,onCreateView但唯一正在平移的是它背后的活动。

问题是我将对话框的高度设置为MATCH_PARENT. 将高度更改为精确值后,DialogFragment 正确平移。

于 2014-06-26T02:33:50.670 回答