multi_split_view

pub

A widget to provides horizontal or vertical multiple split view for Flutter.

animated

  • Horizontal or vertical
  • Configurable weights for children
  • Automatic calculation of weights for:
    • Child added without defined weight
    • Weight redistribution when a child is removed
  • Listener to detect children size changes

Examples

Horizontal

    MultiSplitView(children: [child1, child2, child3]);

horizontal

Vertical

    MultiSplitView(axis: Axis.vertical, children: [child1, child2]);

vertical

Horizontal and vertical

    MultiSplitView(axis: Axis.vertical, children: [
      MultiSplitView(children: [child1, child2, child3]),
      child4
    ]);

horizontalvertical

Setting the weight

    // setting 10% of weight for the first child
    MultiSplitView(
        children: [child1, child2, child3],
        controller: MultiSplitViewController(weights: [0.1]));

horizontalweight

Divider color

    MultiSplitView(
        children: [child1, child2], dividerColor: Colors.black);

dividercolor

Divider thickness

    MultiSplitView(
        children: [child1, child2, child3], dividerThickness: 30);

dividerthickness

Minimal child weight

    MultiSplitView(axis: Axis.vertical, children: [
      MultiSplitView(children: [child1, child2], minimalWeight: .40),
      MultiSplitView(children: [child3, child4])
    ]);

minimalweight

Listener

    MultiSplitView(
        children: [child1, child2],
        onSizeChange: (childIndex1, childIndex2) => print(
            'Index of children who changed size: $childIndex1 and $childIndex2'));

TODO

  • Documentation
  • Test

Libraries

multi_split_view