Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.2.0

flex_list

Um widget de layout do Flutter para listas flexíveis. Comporta-se como você esperaria que widgets Expand se comportassem dentro de um wrap.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
1,8 mil
Curtidas
30
Pontos Pub
150

Instalar pacote

flutter pub add flex_list

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

FlexList é um widget do Flutter projetado para criar listas flexíveis e responsivas que se adaptam dinamicamente dentro de limites de layout. Funciona de forma semelhante ao comportamento dos widgets Expand dentro de um Wrap, permitindo que os itens cresçam e diminuam com base no espaço disponível. Ideal para criar layouts de lista fluidos e escaláveis em diferentes tamanhos e orientações de tela, aumentando a flexibilidade da IU sem codificação personalizada complexa. O pacote suporta todas as principais plataformas, tornando-o adequado para aplicações multiplataforma que exigem comportamento adaptativo em listas.

Casos de uso

  • Layouts de lista responsivos
  • Dimensionamento dinâmico de itens
  • Design de interface do usuário multiplataforma
  • Contêineres de conteúdo adaptáveis
  • Listas semelhantes a grade flexíveis
  • Integração de layout aninhado

Principais recursos

  • Itens de lista com redimensionamento automático
  • Suporta todas as plataformas do Flutter
  • Comportamento semelhante ao de envolver de forma intuitiva
  • Configuração mínima necessária
  • Integração contínua com layouts existentes
  • Comportamento consistente entre dispositivos

Indicado para

  • Desenvolvedores construindo interfaces responsivas
  • Aplicativos que precisam de designs de lista adaptáveis
  • Projetos multiplataforma
  • aplicações com layout intenso
  • Componentes da interface que exigem espaçamento dinâmico

Considerações

  • Pode exigir alinhamento cuidadoso em estruturas aninhadas complexas
  • Impacto no desempenho com conjuntos de dados muito grandes
  • Personalização limitada além do comportamento básico de flexibilidade
  • Não ideal para layouts de tamanho fixo ou rígidos
  • Mais adequado para tamanhos moderados de lista
  • Depende das restrições do contêiner pai

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Flex List

Pub Points Pub Points Pub Points

Provides a flexible list layout that behaves as you would expect from Expand widgets within a Wrap.

Features

FlexList puts as many provided elements as possible in one row (like Wrap), but also extends the width of the elements by the remaining space per row. This means that each row is filled to the maximum width.

Getting started

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  ...
  flex_list: <latest_version>

In your library add the following import:

import 'package:flex_list/flex_list.dart';

Usage

The following example shows how to use FlexList. Beside the children property, you can set horizontalSpacing and verticalSpacing to define the spacing between the elements.

Note: Both spacing values are 10 by default.

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'FlexList Demo',
        theme: ThemeData(),
        home: Scaffold(
          body: Center(
            child: SizedBox(
                width: 300,
                child: FlexList(
                  horizontalSpacing: 5,
                  verticalSpacing: 10,
                  children: [
                    for (var i = 0; i < 10; i++)
                      Container(
                        color: Theme
                            .of(context)
                            .colorScheme.surfaceContainer,
                        padding: EdgeInsets.symmetric(
                            horizontal: 20 + 20 * (i % 4), vertical: 10),
                        child: Text("Item $i"),
                      )
                  ],
                )),
          ),
        ));
  }
}
Rendering of above Example
Example Rendering

Additional information

This package was written because of the lack of such layout function. The package repository is maintained on Github and published on pub.dev

Categorias

Repositório-fonte

Projetos que usam este pacote