Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.2.0

flex_list

Ein Flutter-Layout-Widget für flexible Listen. Es verhält sich wie erwartet, wenn Expand-Widgets innerhalb eines Wrap verwendet werden.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
1810
Likes
30
Pub-Punkte
150

Paket installieren

flutter pub add flex_list

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

FlexList ist ein Flutter-Widget, das entwickelt wurde, um flexible und responsive Listen zu erstellen, die sich dynamisch innerhalb von Layoutbeschränkungen anpassen. Es funktioniert ähnlich wie Expand-Widgets innerhalb eines Wrap, wodurch Elemente basierend auf verfügbarem Platz wachsen und schrumpfen können. Ideal für fließende, skalierbare Listenlayouts auf verschiedenen Bildschirmgrößen und Ausrichtungen, es verbessert die UI-Flexibilität ohne komplexes eigenes Codieren. Das Paket unterstützt alle wichtigen Plattformen und ist daher für plattformübergreifende Anwendungen geeignet, die adaptive Listenverhalten erfordern.

Anwendungsfälle

  • Reaktive Listenlayouts
  • Dynamische Elementgrößen
  • Plattformübergreifendes UI-Design
  • Adaptive Inhaltcontainer
  • Flexible grid-artige Listen
  • Einbettung von Layouts

Hauptmerkmale

  • Automatisch anpassbare Listenitems
  • Unterstützt alle Flutter-Plattformen
  • Intuitives Verhalten wie eine Umhüllung
  • Minimale Konfiguration erforderlich
  • Nahtlose Integration in bestehende Layouts
  • Konsistentes Verhalten über Geräte hinweg

Geeignet für

  • Entwickler, die responsive Benutzeroberflächen erstellen
  • Apps mit anpassbaren Listenlayouts
  • Plattformübergreifende Projekte
  • layoutintensive Anwendungen
  • UI-Komponenten, die dynamischen Abstand erfordern

Hinweise

  • Kann bei komplexen verschachtelten Strukturen sorgfältige Ausrichtung erfordern
  • Leistungseinbußen bei sehr großen Datensätzen
  • Eingeschränkte Anpassungsmöglichkeiten jenseits des grundlegenden Flex-Verhaltens
  • Nicht ideal für feste oder starre Layouts
  • Am besten geeignet für moderate Listengrößen
  • Abhängig von den Beschränkungen des übergeordneten Containers

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden