如何使用alertDialog.Builder显示自定义键盘?

时间:2016-01-12 17:57:21

标签: android alertdialog android-softkeyboard custom-keyboard

我需要使用带有editText的alertDialog显示自定义键盘;

我使用AlertDialog.Builder创建新的alertDialog。

一段时间后我可以禁用默认键盘,但我仍然无法显示自己的自定义键盘...

这是我的代码的一部分:

AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);

        builder.setView(view);
        builder.setTitle(mActivity.getString(R.string.title));
        builder.setMessage(mActivity.getString(R.string.message));
builder.setNegativeButton(mActivity.getString(R.string.negative),
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
        builder.setPositiveButton(R.string.positive,
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
        mDialog = builder.create();
mDialog.show();

mDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
Keyboard_Digits kd = new Keyboard_Digits
                .Builder(mActivity, keboardView)
                .build();
        kd.showCustomKeyboard(mEditText);

此代码打开我的自定义键盘,但是在对话框窗口下....(

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用PopupWindow。

PopupWindow popup;
final View custom = LayoutInflater.from(context)
.inflate(R.layout.popup_layout, new FrameLayout(context));
popup = new PopupWindow(context);

对话框对于自定义软键盘来说不是一个好选择。