Пример обновления в инстаграме.
SwipeRefreshLayout из библиотеки Android support — «потяните чтобы обновить» Он добавляет функционал, который один мой коллега называет «резинка от трусов», а остальные знают этот UI-паттерн под названием «потяни, чтобы обновить». Он бывает нужен, когда есть какой-то контент, который пользователь хочет часто обновлять, и может это сделать, просто потянув контент жестом вниз, а потом отпустив.
Очень похоже, что компонент был создан для GoogleNow, а потом перекочевал в support lib (очень похожа анимация).
Алгоритм простой. Компонент «оборачивается» вокруг View или Layout, для которого нужно сделать обновление и может содержать только одного потомка (похоже на ScrollView). Устанавливается OnRefreshListener с одним единственным методом onRefresh(). Как на него реагировать — решаем сами. Когда нужно показать, что идет обновление (и запустить анимацию), вызываем метод setRefreshing(boolean) и передаем ему true. Наиболее логичным кажется вызов метода внутри onRefresh(). Когда обновление закончено, вызываем метод setRefreshing(boolean) и передаем ему false.
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:id="@+id/container"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" />
Логику можете написать тут:
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
// Do some logic
// if (refresh is ok)
Toast.makeText(getContext(), "Refresh", Toast.LENGTH_SHORT).show();
}
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пусть у меня есть массив testКак мне сделать так, чтобы он сохранялся в sharedPreferences при выходе из программы и загружался при входе?
Загружаю ключ из памяти телефона, декодирую из base64 в byte, получаю ключ и дальше уже работаю с нимНо при запуске программа выдает ошибку
Добрый день, уважаемые разработчикиСтолкнулся с задачей выбора способа реализации серверной части для android-приложения
Есть Map<Entity,List<Integer>, также имеется Mapper для entity->dto и обратноКак из первой Map получить Map<Dto,List<Integer>> при помощи лямбд?