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.
    • A TextCell exibe uma sequência de texto, opcionalmente com texto detalhado. O texto detalhado é renderizado como uma segunda linha em uma fonte menor com uma cor de destaque.
    • An ImageCell exibe uma imagem com texto. Aparece como um TextCell com uma imagem à esquerda.
  • 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.