Может кто-нибудь объяснить, как использовать TYPE_INPUT_METHOD_DIALOG? - PullRequest
0 голосов
/ 11 ноября 2011

Я хочу создать простое диалоговое окно (например, EditText и кнопку) при нажатии клавиши на программной клавиатуре.

WindowManager.LayoutParams

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Per hackbod (главный разработчик Android), вы не хотите TYPE_INPUT_METHOD_DIALOG.Вы хотите TYPE_APPLICATION_PANEL.Этот код должен работать.myInputMethodView должно быть любым видом, отображаемым в данный момент в главном окне метода ввода.

final Dialog d = new Dialog(context);
final Window w = d.getWindow();
final WindowManager.LayoutParams attrs = w.getAttributes();
attrs.type = TYPE_APPLICATION_PANEL;
attrs.token = myInputMethodView.getWindowToken();
w.setAttributes(attrs);
d.show();
0 голосов
/ 11 ноября 2011

Если вы хотите создать диалог, вам не нужно использовать WindowManager вообще.Разработчики Android имеют статью о работе с диалогами .TYPE_INPUT_METHOD_DIALOG, как следует из названия, используется для методов ввода (например, экранных клавиатур).

...