Похоже, что в документации [0][1] все внимание сосредоточено на Android 14+ и даже не упоминается, как следует обращаться с более ранними версиями. Я немного попробовал и подумал, что это отлично сработает:
Для API 34+ это работает отлично. Переходы открытия и закрытия одинаковы, переход жестом назад выглядит хорошо.
Для API 33 и более ранних версий переход открытия подходит. Закрывающий переход работает нормально при использовании аппаратной кнопки «Назад». Но когда onBackPressedDispatcher.onBackPressed() вызывается в ответ на компонент пользовательского интерфейса, старый метод onBackPressed не вызывается, поэтому overridePendingTransition не вызывается, и переход не является настраиваемым.
Мне трудно это понять, но я не особо возражаю. Я просто хочу, чтобы переходы были последовательными. В этом тривиальном случае я мог бы вызвать overridePendingTransition внутри handleUiStuff, но в других случаях я, вероятно, не хотел бы этого делать, я думаю, при использовании BackHandler и других вещей?
Видео об этом:
[0] https://developer.android.com/guide/nav ... ck-gesture
Похоже, что в документации [0][1] все внимание сосредоточено на Android 14+ и даже не упоминается, как следует обращаться с более ранними версиями. Я немного попробовал и подумал, что это отлично сработает: [code] override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
@Suppress("DEPRECATION") @Deprecated("") override fun onBackPressed() { super.onBackPressed() if (Build.VERSION.SDK_INT < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { @Suppress("DEPRECATION") overridePendingTransition(R.anim.stay, R.anim.slide_out_to_bottom) } }
//...
fun handleUiStuff() { onCloseButtonClick = { onBackPressedDispatcher.onBackPressed() } } [/code] Результат: [list] [*]Для API 34+ это работает отлично. Переходы открытия и закрытия одинаковы, переход жестом назад выглядит хорошо. Для API 33 и более ранних версий переход открытия подходит. Закрывающий переход работает нормально при использовании аппаратной кнопки «Назад». Но когда onBackPressedDispatcher.onBackPressed() вызывается в ответ на компонент пользовательского интерфейса, старый метод onBackPressed не вызывается, поэтому overridePendingTransition не вызывается, и переход не является настраиваемым. [/list] Мне трудно это понять, но я не особо возражаю. Я просто хочу, чтобы переходы были последовательными. В этом тривиальном случае я мог бы вызвать overridePendingTransition внутри handleUiStuff, но в других случаях я, вероятно, не хотел бы этого делать, я думаю, при использовании BackHandler и других вещей? Видео об этом: [youtube]BqRXUSfXt5M[/youtube] [0] https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture
После Android 10 пользователи могут предпочесть режим навигации с помощью жестов. Я хочу определить, находится ли устройство в режиме навигации жестами или нет. Я изменю дизайн с учетом предпочтений системной навигации.
Не могу найти ничего в...
После Android 10 пользователи могут предпочесть режим навигации по жестам. Я хочу определить, является ли устройство в режиме навигации жеста или нет. Я изменю дизайн в отношении предпочтения навигации системной навигации.
Я не могу найти ничего в...
Я столкнулся с проблемой в приложении Delphi при использовании функции навигации с помощью жестов Android. В частности, события скрытия и отображения VirtualKeyboard запускаются только каждую вторую попытку при выполнении аппаратного жеста возврата...
Я столкнулся с проблемой в приложении Delphi при использовании функции навигации с помощью жестов Android. В частности, события скрытия и отображения VirtualKeyboard запускаются только каждую вторую попытку при выполнении аппаратного жеста возврата...
Я сталкиваюсь с проблемой с открытым приложением Admob и интерстициальной рекламой на Android при использовании навигации по жестам с прогнозной обратной стороной (Android 13+). Когда объявление отображается с использованием реального идентификатора...