В марте 2014 года был представлен новый компонент android.support.v4.widget.SwipeRefreshLayout, который входит в состав библиотеки Support Library v4.
Компонент позволяет отказаться от сторонних библиотек и собственных велосипедов для реализации шаблона "Pull to Refresh", когда пользователь сдвигает экран, чтобы обновить данные. Подобное поведение можно увидеть в клиентах для Твиттера, чтобы получить новую порцию твитов, не дожидаясь, когда список сообщений обновится самостоятельно.
Создадим новый проект. Начнём с разметки и обернём компоненты новым родительским элементом android.support.v4.widget.SwipeRefreshLayout. На панели инструментов данного компонента нет, поэтому придётся писать код вручную.
И небольшой код:
В примере реализуется интерфейс OnRefreshListener с методом onRefresh(), в котором следует обновить поступающие данные. В нашем случае просто генерируются случайные числа.
При первом появлении библиотеки использовался метод setColorScheme(), который объявлен устаревшим. Вместо него появились два новых метода setColorSchemeColors() и setColorSchemeResources(). Принцип остался тот же, вам нужно указать четыре цвета по константам Color.XXX или из ресурсов. Старый код закомментировал на память. Вы можете не использовать вызов метода с цветными линиями, тогда будет выводиться только черная линия по умолчанию.
Компонент достаточно интересный с занимательной анимацией. Вначале анимация представляла собой цветные полоски под заголовком программы, как представлено на видео.
Позже анимацию заменили в стиле Material Design, теперь это маленький кружочек, внутри которого крутятся цветные линии (или черная линия, если не использовать метод setColorSchemeResources() со цветами).
Обновляем список
По такому же принципу обновляем данные в списке.
При каждой попытке обновить список будет добавляться текущая дата и время.
Не забывайте, что обновление может занимать длительное время и использовать сеть для получения данных. Поэтому следует позаботиться о выполнении в другом потоке.
У iPhone X нет кнопки «Домой», поэтому Apple пришлось изобрести новый способ навигации — с помощью жестов по нижней части экрана. Производители Android-смартфонов (за исключением OnePlus в последнем апдейте OnePlus 5T) пока не спешат заимствовать такие жесты, но их можно добавить любому устройству с помощью специального приложения.
Gesture Control — утилита, которая выводит в нижней части экрана характерную для iPhone X полосу и позволяет использовать различные жесты:
- Свайп вверх — домашний экран
- Свайп вверх с удерживанием пальца — последние запущенные приложения
- Свайп влево — возврат
- Свайп влево с удерживанием пальца — разделение экрана на два окна (только на Andro >
- 2 ответа 2
Вот такой пример для вас:
MainActivity.class:
activity_main.xml
leftSwipe (слева — направо) будет увеличивать значение TextView на 1 и сразу показывать.
«>