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.