Android 对话框片段下显示的软键盘

Android soft keyboard showing under a dialog fragment

我有一个对话框片段,它有一个列出多个视图的列表视图,在其中一个视图中有一个显示光标的编辑文本,但没有显示软键盘。 所以我在它的 onclick 上写了一个代码来显示键盘,如下所示,

etcomment.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    InputMethodManager imm = (InputMethodManager) activity
                            .getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
                }
            });

现在键盘显示出来了,但是显示在键盘下方DialogFragment

我搜索了但没有得到答案,请帮助我!

你的 window 参数有问题好吧你应该这样做:..

    Dialog dialog = new Dialog(DialogTestKeyboard.this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
    lp.copyFrom(dialog.getWindow().getAttributes());
    lp.width  = 400;
    lp.height = 800;
    dialog.setContentView(yourLayoutHavingEditText);
    dialog.setCancelable(false);
    dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
    dialog.show();
    dialog.getWindow().setAttributes(lp);
    dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);