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 e ImageCell, correspondem a controles nativos e têm desempenho especial.
    • A TextCell exibe uma cadeia de caracteres de texto, opcionalmente com texto detalhado. O texto detalhado é renderizado como uma segunda linha em uma fonte menor com uma cor de destaque.
    • Um 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 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.