Android Как показать программную клавиатуру с поиском действий - PullRequest
0 голосов
/ 04 марта 2019

У меня проблема с отображением программной клавиатуры в режиме поиска из сервиса.Я хочу заставить программную клавиатуру показывать с поисковым действием.Когда клавиатура показывает, она появляется с обычной кнопкой ввода, и я хочу, чтобы она имела действие поиска.В настоящее время я использую код ниже, чтобы показать свою клавиатуру:

InputMethodManager imm = (InputMethodManager)   getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

Как уже упоминалось выше, я запускаю ее из службы, поэтому после того, как клавиатура видна, я снимаю фокус с моего взгляда с помощью:

params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
mWindowManager.updateViewLayout(floatingView, params);

Я пытался достичь своей цели, используя фиктивный EditText с imeOptions:

android:imeOptions="actionSearch"

, затем клавиатура находится в режиме поиска, но после отключения фокуса она исчезает.

Я думаю, что моя проблема можетЧтобы решить эту проблему, поставьте флаг InputMethodManager.SHOW_FORCED для клавиатуры EditText или задайте для imm параметры опций actionSearch, но у меня не осталось идей, как этого достичь.

...