Вчимося оновлювати сторінки додатка за допомогою swipe refresh layout

Вчимося оновлювати сторінки додатка за допомогою Swipe Refresh Layout

З появою Android 5 Lollipop і Material Design, в функціоналі Android програмування з'явилося багато цікавих речей, одну з яких ми сьогодні розглянемо і навчимося використовувати. Йдеться про таку штуку, як Swipe Refresh Layout. Використання цього виду layout дає можливість оновлювати сторінки додатка за допомогою жесту пальця вниз від верху екрану. Якщо ви користуєтеся мобільною версією браузера Chrome, то бачили цю функцію, яка, до речі, введена зовсім недавно, близько місяця тому:

Вчимося оновлювати сторінки додатка за допомогою swipe refresh layout

Красива і корисна річ, а що ще більш цікаво - нескладна у використанні та доступна навіть на старих версіях Android, на Froyo точно (перевірено). І так, починаємо освічуватися.

Створюємо новий проект, вибираємо Blank Activity. Відкриваємо файл activity_main.xml і додаємо туди спеціальний layout по імені SwipeRefreshLayout для реалізації поновлення жестом:

Елемент ScrollView створений для того, щоб можна було свайпнуть сторінку, без нього нічого не виходить (це конкретно в нашому випадку, а не скрізь).

Якщо не вторгатися в настройки кольору значка оновлення, за замовчуванням він буде чорно-білим. Але ми зробимо свій гурток. Для цього в папці res / values ​​створюємо файл на ім'я colors.xml і додамо туди кілька кольорів:

Тепер переходимо в MainActivity.java і починаємо писати код. Для реалізації такої функції поновлення жестом, нашому activity необхідно виконувати спеціальний інтерфейс SwipeRefreshLayout. OnRefreshListener.

Особливо то і пояснювати нічого, оголосили і ініціалізували елемент SwipeRefreshLayout, задали виконання інтерфейсу .OnRefreshListener. налаштували для крутиться смужки кольору, використовуючи створені нами з фото colors.xml. Якщо їх не використовувати те, як згадувалося вище, анімація буде чорно-білою.

Створюємо метод onRefresh (). в ньому ми вказуємо на кінцівку нашого процесу оновлення (.setRefreshing (false)) і задаємо довжину процесу оновлення в 5000 мілісекунд, тобто в 5 секунд. Можете поекспериментувати і додати більше квітів і більше часу тривалості анімації поновлення, скільки вам хочеться.

Запускаємо своє творіння і дивимося на результат:

Вчимося оновлювати сторінки додатка за допомогою swipe refresh layout

Вийшло, погодьтеся досить прикольна фішка :). Як небудь пізніше розберемося з більш складними прикладами використання Swipe Refresh Layout.