Xamarin.Forms ListView
ListView
é uma 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 de alto desempenho 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 dá 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ê tem uma lista não associada de opções ou dados, pois 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
ListView
.
A ListView
classe não dá suporte à definição de itens de lista em XAML, você deve usar a propriedade ou a ItemsSource
associação de dados com um 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 da lista. O TableView
controle pode dar 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 associar dados a uma ListView
instância, consulte Fontes de dados ListView.
Componentes
O ListView
controle tem vários componentes disponíveis para exercitar 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 associados a uma fonte de dados separada da fonte de dados do ListView.
Grupos
Os dados em um ListView
podem ser agrupados para facilitar a navegação. Os grupos normalmente são associados 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 integradas, como o e
ImageCell
,TextCell
correspondem a controles nativos e são especialmente eficientes. - 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 dá suporte a vários estilos de interação.
- Puxar para atualizar permite que o usuário puxe para
ListView
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 ListView
ação com contexto:
Para saber mais sobre os recursos de interatividade do ListView
, consulte Ações e interatividade com o ListView.