flutter_reorderable_grid_view 1.0.0-dev.2
flutter_reorderable_grid_view: ^1.0.0-dev.2 copied to clipboard
Reordering all children inside ReorderableGridView. By default the reorder is animated.
A GridView whose items the user can interactively reorder by dragging.
Compared to the given ReorderableListView, it
is possible to reorder different sizes of widgets with or without animation.
Also you can lock specific items that should not change their position.
Features #
Use this package in your Flutter App to:
- Enable a reordering logic with different widgets
- Simplified widget
- Works with all kind of widgets that are rendered inside
- Animated when reordering items
- Locking all items you don't want to move
- Tested workflows like updating children or changing orientation
Getting started #
Simply add ReordableGridView to your preferred Widget and specify a list of children.
Usage #
import 'package:flutter_reorderable_grid_view/reorderable_grid_view.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey,
body: SafeArea(
child: Padding(
padding: const EdgeInsets.all(20),
child: ReorderableGridView(
children: List.generate(
20,
(index) => Container(
color: Colors.blue,
height: 100,
width: 100,
child: Text(
'test $index',
style: const TextStyle(
fontSize: 20,
color: Colors.white,
),
),
),
),
),
),
),
);
}
}
Additional information #
ReordableGridView #
| Parameter | Description | Default Value |
|---|---|---|
children |
Displays all given children that are build inside a Wrap. | - |
spacing |
Spacing in vertical direction between children. | 8 |
runSpacing |
Spacing in horizontal direction between children. | 8 |
enableAnimation |
Enables the animation when changing the positions of childrens after drag and drop. | true |
enableLongPress |
Decides if the user needs a long press to move the item around. | true |
longPressDelay |
Specify the delay to move an item when enabling long press. | 500 ms |
lockedChildren |
Define all children that can't be moved while dragging. You need to add the index of this child in a list. | <int>[] |
onUpdate |
After dragging an item to a new position, this function is called. The function contains always the old and new index. Be sure to update your children after that. See more on examples. |
- |
Future #
If you have feature requests or found some problems, feel free and open your issues in the GitHub project.
Thank you for using this package.