SOFT_INPUT_ADJUST_RESIZE устарел. Но других флагов нет. Каков новый рекомендуемый способ изменения режима inputType во вAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 SOFT_INPUT_ADJUST_RESIZE устарел. Но других флагов нет. Каков новый рекомендуемый способ изменения режима inputType во в

Сообщение Anonymous »

В моем приложении я использую одно действие — MainActivity с несколькими фрагментами. В файле манифеста я установил для свойства windowSoftInputMode активности значениеjustResize, потому что мне нужно такое поведение в большинстве фрагментов, где отображается клавиатура. Но некоторые страницы по замыслу не требуют изменения размера при отображении клавиатуры. По этой причине я установил для softInputMode значение SOFT_INPUT_ADJUST_NOTHING в onCreateView и обратно SOFT_INPUT_ADJUST_RESIZE в onDestroyView.

Код: Выделить всё

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
activity?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING)
return inflater.inflate(R.layout.fragment_b, container, false)
}

override fun onDestroyView() {
activity?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
}
Все работает нормально, но теперь я получаю предупреждение об устаревании для SOFT_INPUT_ADJUST_RESIZE с предложением использовать setDecorFitsSystemWindows вместе с OnApplyWindowInsetsListener. Это решение меня довольно сбивает с толку, так как я не понимаю, зачем нам нужен параметр setDecorFitsSystemWindows, который, как мне кажется, определяет, можно ли отображать содержимое приложения за панелями состояния и навигации, а конечным результатом является большее количество строк кода по сравнению с исходной одной строкой. подход.
Я прочитал ответ на этот вопрос. SOFT_INPUT_ADJUST_RESIZE устарел, начиная с Android 30, и первый ответ показывает, как использовать этот новый способ, но мне неясно, к какому корневому представлению OnApplyWindowInsetsListener должен быть установлен и как использовать это решение для SOFT_INPUT_ADJUST_RESIZE вместе с SOFT_INPUT_ADJUST_NOTHING, поскольку последний не устарел.
Я был бы признателен, если бы кто-нибудь помог мне обновить мой код, чтобы сохранить то же поведение приложение, как и раньше, но перейдите на новый API.

Подробнее здесь: https://stackoverflow.com/questions/728 ... the-new-re
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»