FLUTTER ECOSYSTEM

ihorbokov/constrained_scrollable_views

Set of useful scrollable views includes ConstrainedScrollView, ScrollableColumn, and ScrollableRow.

constrained_scrollable_views project cover
Stars
1
Forks
1
Last push (UTC)
Oct 3, 2024
Project status
Active
Ihor Bokov GitHub avatar
GITHUB User

Ihor Bokov ↗

Crazy Flutter Developer

Ukraine
LanguagesDartSwiftKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 3 items
  • flutter{"sdk":"flutter"}
  • flutter_testDevelopment{"sdk":"flutter"}
  • very_good_analysisDevelopment^6.0.0

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

Constrained Scrollable Views

Pub style: very good analysis License: MIT

Set of useful scrollable views includes ConstrainedScrollView, ScrollableColumn, and ScrollableRow.

  • ConstrainedScrollView is a combination of LayoutBuilder and SingleChildScrollView.
  • ScrollableColumn is Column wrapped by ConstrainedScrollView.
  • ScrollableRow is Row wrapped by ConstrainedScrollView.

Usage

Example of using ConstrainedScrollView:

ConstrainedScrollView(
  padding: const EdgeInsets.all(8),
  physics: const BouncingScrollPhysics(),
  constraintsBuilder: (constraints) => BoxConstraints(
    minWidth: constraints.maxWidth,
    minHeight: constraints.maxHeight,
  ),
  child: const Center(
    child: Text('ScrollView value'),
  ),
)

Example of using ScrollableColumn:

ScrollableColumn(
  padding: const EdgeInsets.all(8),
  physics: const BouncingScrollPhysics(),
  constraintsBuilder: (constraints) => BoxConstraints(
    minHeight: constraints.maxHeight,
  ),
  children: [
    for (var i = 0; i <= 100; i++)
      Padding(
        padding: const EdgeInsets.all(4),
        child: Text('Column value: $i'),
      ),
  ],
)

Example of using ScrollableRow:

ScrollableRow(
  padding: const EdgeInsets.all(8),
  physics: const BouncingScrollPhysics(),
  constraintsBuilder: (constraints) => BoxConstraints(
    minWidth: constraints.maxWidth,
  ),
  children: [
    for (var i = 0; i <= 100; i++)
      Padding(
        padding: const EdgeInsets.all(4),
        child: Text('Row value: $i'),
      ),
  ],
)