The Xamarin ListView control renders a set of data items with Xamarin.Forms views or custom templates. It has many features: grouping, sorting, filtering, paging, swiping, multiple selection, dragging and dropping, and different layout types. The ListView control has also been optimized to work with large amounts of data.
ListView has built-in support to load data from most of the popular data sources and also supports sorting, grouping, and filtering out of the box.
The listview has been built from the ground up with an optimized view reuse strategy to achieve the best possible performance on the Xamarin platform, even when loading large data sets.
ListView supports two different layouts to show the listview items. The linear layout arranges items in a single column, whereas the grid layout arranges items in a predefined number of columns.
Host any view or control to customize the view. Each listview item can also be customized, allowing dynamic selection of the UI for each item.
Associate swipe views with custom actions. Swipe views are displayed by swiping from left to right or right to left over an item.
Load data in vertical and horizontal orientations.
Sort data programmatically. Custom sorting logic is also supported.
Group by a property from the code, freeze group headers in the view, and use custom grouping logic. The group caption can also be customized by adding views such as images, text, and more.
Set predicates to easily filter and view data as needed.
Sort and group data in real time.
Freeze a header at the top of the control or make it scrollable. The header can be customized by adding any view such as an image, text, and more.
Freeze a footer at the bottom of the control or make it scrollable. The footer can be customized by adding any view such as an image, text, and more.
Reorder items by dragging them either with a long press or from the drag indicator view. Items’ appearances can also be customized while dragging.
Dynamically change the size of the items to greatly enhance readability.
Refresh the data source at run time by performing a pull-to-refresh action.
Load more data at run time automatically or manually when the end of a list is reached. Also load more data manually at the top of the list. The loading indicator and load more buttons can also be customized.
ListView items can be paged using the data pager control, which supports the interactive manipulation of data.
Specify the required space between items in a list.
Change the size of the ListView header, footer, group header, and items with static values.
The ListView item corners can be rounded.
All static text within the ListView can be localized to any desired language.