Pull to refresh

Comments 10

Замечательно. А как с доступом к SD карте в 10-ом Android-е?
Как пользователь телефона с Android 10 хочу заметить: приложениями, разработанными с учётом insets 29-й версии API, управлять удобно. Все эти жесты интуитивно понятны. Однако:
1. Таких приложений мало.
2. Многие полноэкранные приложения (то бишь игры) запускаются теперь с чёрными полосами по краям экрана, кроме верхней части.
3. Интеграцию с системными жестами поддерживает только родной лаунчер. На это, например, авторы популярного Nova Launcher-а жалуются.
В общем, пока проблемы совместимости не исправлены, приходится пользоваться «старой» нижней панелью с обычными кнопками «Домой», «Назад».

Для тех, кому любопытно, мы столкнулись с интересной проблемой инсетов в BottomSheetDialog, когда системные компоненты не позволяют обрабатывать инсеты самостоятельно. Если кратко, то приходится руками запрещать их обрабатывать через прямое обращение к системной верстке (или библиотечной), за подробностями приглашаю к просмотру наших внутренних митапов: https://t.me/rmr_spb/66

if (heightDiff > 100) {

Дано: Blackberry (Priv, Key One, Key2) или любой телефон с физической клавиатурой. В моём случае это Priv.

Открываем приложение Instagram, открываем слайдер телефона, открываем сторис. Хотим прокомментировать историю, жмём на поле для ввода комментария, появляется маленькая панелька внизу, на которой будут подсказки слов.

Проблема: Инстаграм игнорирует эту панельку и не приостанавливает автопрокрутку историй.

Если слайдер телефона закрыть, появляется «полноразмерная», стандартная тач-клавиатура, Инсталитр её понимает и останавливает прокрутку истории.

Почему? Кажется, именно из-за такого кода.

Открыл статью чтобы узнать наконец какая связь между клавиатурой и inset, а увидел только старый костыль с расчетом высоты.

печально, ведь если смотреть внимательно, то там говорится, что клавиатура ничем не отличается от любого другого системного UI, который отрисовывается поверх вашего приложения, а следовательно надо обрабатывать только инсеты.
Да и клавиатура — это растяжимое понятие, вместо клавиатуры можно нарисовать все что угодно, хоть галерею с картинками из гугла (собственно есть такой режим у многих коавиатур)

В Android R наконец-то завезли то, о чем я говорил в своем комментарии выше. А именно вменяемую возможность узнать высоту клавиатуры. Клавиатура вмешивается в работу приложения, сдвигает интерфейс. Теперь я с большей силой настаиваю на том, что вариант из статьи (которым я, однако, пользуюсь) является костылем.

Так что такое inset?) Нативные методы по работе с системными тулбарами? Что-то вы с места в карьер начали

В статье упоминается
<item name="android:navigationBarColor">#80FFFFFF</item>
Так вот, хотелось бы заметить что так можно делать только для api 26+
потому, что с апи 21 по 25 не было флага View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
который нужен чтобы кнопки на навбаре стали тёмного цвета. Иначе на этих апи будет белый навбар с белыми кнопками.

Navigation Drawer все еще не поддерживает навигацию жестами
Здесь же упоминались System Gesture Insets
И видимо если он так и не будет поддерживать, придётся прикручивать костыль на их переопределение для определённых фрагментов.

Сам столкнулся с проблемой установки инсетов во фрагментах.
И визуально, чтобы всё хорошо выглядело с прозрачностью, пришлось много повозиться. Особенно для нормального отображения тулбаров в разных ориентациях и rtl. А также внутри Navigation Drawer, где надо по разному обрабатывать отступы для контента.
Sign up to leave a comment.