В помощь мобильному разработчику

Xamarin Forms: Pull To Refresh в ListView

Александр Алексеев

Элемент управления Xamarin Forms ListView позволяет достичь того, чтобы при движении сверху вниз, выполненном пользователем в верхней части ListView, вызывалась команда обновления. Я говорю «команда обновления» потому, что движение сверху вниз для обновления просто запускает «команду», а Вы уже можете делать все что угодно в этой «команде» в том числе даже и не обновлять ListView.

 

Свойства

Для того чтобы реализовать функцию «потяните для обновления», нужно иметь представление о трех свойствах.

Для включения этой функции установите IsPullToRefreshEnabled=”True”, а затем создайте следующие два свойства во ViewModel.

Теперь при выполнении движения сверху вниз в верхней части ListView начнет показываться анимация обновления, пока действует установка IsRefreshing=”true”.

 

Pull To Refresh кастомизация

На каждой платформе мы можем индивидуально настроить небольшую часть анимации обновления.

 

Android

Android использует элемент управления SwipeRefreshLayout для отображения анимации при обновлении ListView. SwipeRefreshLayout является внутренним содержанием ListViewRenderer, следовательно, Вы лишены возможности обращаться непосредственно к его свойствам, если, конечно, не ходите написать полностью новый ListViewRenderer. Однако, поскольку у Android есть стили, их можно использовать для переопределения трех цветовых элементов.

 

iOS

В iOS для отображения анимации при обновлении данных используется элемент UIRefreshControl. У UIRefreshControl имеется TintColor и AttributedTitle и в отличие от Android здесь у нас есть возможность взаимодействия с этим элементом управления. У ListViewRenderer есть ViewController, который в действительности является UITableViewController. И из него можно добраться до RefreshControl.

 

Ограничения

  • Не доступно на UWP или Windows Phone  8.1
  • Невозможность простой кастомизации анимации обновления.
  • Доступны только ограниченные варианты стилей.

Автор: Adam Pedley
ИсточникСтатья в блоге автора

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

Android

Написать ответ