Есть ли способ изменить значение android: windowSoftInputMode из classа java?

Я хочу, чтобы мои вкладки имели разные свойства windowSoftInputMode для каждой вкладки. Как получить доступ к этому свойству из classа java, когда вся обработка вашей вкладки выполняется из одного действия?

Есть ли способ получить доступ к этому свойству манифеста из java-кода?

Для изменения softInputMode для Activity используйте следующее.

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 

Для изменения типа softInput для EditText используйте следующее.

 mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

Благодаря @Eliezer для коррекции

По словам Прашама , я сделал это, и это спасло мою жизнь, благодаря ему! Режим EditText и SoftWindowInput довольно SoftWindowInput , если у вас есть макет с ScrollView и вы заполняете его динамически.

Поскольку я прошел этот пост, но продолжал читать другие ответы / комментарии (например, Prashan’s), я решил написать его в новом посте.

Ниже кода, который я использовал с моим ScrollView :

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

Я стараюсь использовать два разных режима для вкладок. Режимы SOFT_INPUT_ADJUST_RESIZE и SOFT_INPUT_ADJUST_NOTHING .

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

Строка кода выше просто не работает сама по себе. Приложение всегда ведет себя в состоянии ADJUST_NOTHING . Однако, если windowSoftInputMode="adjustResize" вставляется в в файле AndroidManifest.xml, окно приложения изменяется по умолчанию. Кроме того, когда вы вызываете следующую строку

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); 

он будет вести себя так, как ожидалось, и ничего не изменится.

PS улучшение ответа

Вы можете использовать следующий код программно

 android.view.inputmethod.InputMethodManager imm = (android.view.inputmethod.InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

Благодарю Дипака

Interesting Posts

OOZIE: свойства, определенные в файле, указанном в глобальном задании-xml, не отображаются в workflow.xml

Как заставить диспетчер задач Windows показывать сетевое использование?

Разница между malloc и calloc?

Добавление таблицы в существующий PDF на той же странице – ITEXT

Что означает «Роуминг, не разрешенный сервером» для клиента ssh?

build.gradle и проектные библиотеки

Как использовать окно Immediate в Visual Studio?

Режимы адресации на языке сборки (IA-32 NASM)

что является значением по умолчанию для переменной enums

Как я могу выровнять текст в столбцах с помощью Console.WriteLine?

Получить контекст PopupMenu как ContextMenu

Шаблон для ленивого streamобезопасного создания одноэлементов в java

Как я могу прочитать ввод с консоли с помощью classа Scanner в Java?

Как я могу по-прежнему видеть текст «человек» после того, как я брошу человека?

Как обнаружить клики системы «Недавние приложения» (Honeycomb +)

Давайте будем гением компьютера.