Xamarin.Forms ListView
ListView
é um modo de exibição para apresentar listas de dados, especialmente listas longas que exigem rolagem.
Importante
CollectionView
é uma exibição para apresentar listas de dados usando especificações de layout diferentes. O objetivo é fornecer uma alternativa mais flexível e eficiente ao ListView
. Para obter mais informações, consulte Xamarin.Forms CollectionView.
Casos de uso
Um ListView
controle pode ser usado em qualquer situação em que você esteja exibindo listas roláveis de dados. A ListView
classe oferece suporte a ações de contexto e associação de dados.
O ListView
controle não deve ser confundido com o TableView
controle. O TableView
controle é uma opção melhor sempre que você tiver uma lista não vinculada de opções ou dados porque permite que opções predefinidas sejam especificadas em XAML. Por exemplo, o aplicativo de configurações do iOS, que tem um conjunto de opções predefinido, é mais adequado para usar um TableView
do que um ListView
.
A ListView
classe não oferece suporte à definição de itens de lista em XAML, você deve usar a propriedade ou a ItemsSource
associação de dados com an ItemTemplate
para definir itens na lista.
A ListView
é mais adequado para coleções que consistem em um único tipo de dados. Esse requisito ocorre porque apenas um tipo de célula pode ser usado para cada linha na lista. O TableView
controle pode oferecer suporte a vários tipos de célula, portanto, é uma opção melhor quando você precisa exibir vários tipos de dados.
Para obter mais informações sobre como vincular dados a uma ListView
instância, consulte ListView data sources.
Componentes
O ListView
controle tem uma série de componentes disponíveis para exercer a funcionalidade nativa de cada plataforma. Esses componentes são definidos nas seções a seguir.
Cabeçalhos e rodapés
Os componentes de cabeçalho e rodapé são exibidos no início e no final de uma lista, separados dos dados da lista. Cabeçalhos e rodapés podem ser vinculados a uma fonte de dados separada da fonte de dados ListView.
Grupos
Os dados em um ListView
podem ser agrupados para facilitar a navegação. Normalmente, os grupos são vinculados a dados. A captura de tela a seguir mostra um ListView
com dados agrupados:
Células
Os itens de dados em um ListView
são chamados de células. Cada célula corresponde a uma linha de dados. Há células internas para escolher, ou você pode definir sua própria célula personalizada. As células internas e personalizadas podem ser usadas/definidas em XAML ou código.
- As células internas, como o
TextCell
eImageCell
, correspondem a controles nativos e têm desempenho especial. - As células personalizadas são usadas para apresentar dados complexos. Por exemplo, uma célula personalizada pode ser usada para apresentar uma lista de músicas que inclui o álbum e o artista.
A captura de tela a seguir mostra um ListView
com itens ImageCell:
Para saber mais sobre como personalizar células em um ListView
, consulte Personalizando a aparência da célula ListView.
Funcionalidade
A ListView
classe oferece suporte a vários estilos de interação.
- Pull-to-refresh permite que o usuário puxe o
ListView
para baixo para atualizar o conteúdo. - As ações de contexto permitem que o desenvolvedor especifique ações personalizadas em itens de lista individuais. Por exemplo, você pode implementar ações de deslizar para ação no iOS ou ações de toque longo no Android.
- A seleção permite que o desenvolvedor anexe funcionalidade a eventos de seleção e desseleção em itens de lista.
A captura de tela a seguir mostra uma com ações de ListView
contexto:
Para saber mais sobre os recursos de interatividade do ListView
, consulte Ações e interatividade com ListView.