All Projects → Mindinventory → flutter_draggable_gridview

Mindinventory / flutter_draggable_gridview

Licence: MIT license
This package supports drag & drop widgets inside the GridView.builder for multiplatform. It provides all the properties which are available in Gridview. builder and easy to implement with the few lines of code.

Programming Languages

dart
5743 projects
HTML
75241 projects
swift
15916 projects

Projects that are alternatives of or similar to flutter draggable gridview

Recent Images
Do you noticed the new feature of Telegram or Instagram?! They show your latest images when you try to attach or post a picture. So I developed this library the same with lots of customization. Simple way to get all images of device based on date taken, name, id and other customization
Stars: ✭ 182 (+171.64%)
Mutual labels:  gridview
vue-drr
A Vue2 component for draggable, resizable, rotatable elements
Stars: ✭ 34 (-49.25%)
Mutual labels:  draggable
jh-weapp-demo
微信小程序项目- 实现一些常用效果、封装通用组件和工具类
Stars: ✭ 60 (-10.45%)
Mutual labels:  gridview
MGGridView
MGGridView is a grid view created by a combination of collection views.
Stars: ✭ 25 (-62.69%)
Mutual labels:  gridview
react-mops
🐶 Modify Orientation Position Size
Stars: ✭ 40 (-40.3%)
Mutual labels:  draggable
react-native-gridview
A React Native component that renders a grid of items. It uses ListView under the hood.
Stars: ✭ 16 (-76.12%)
Mutual labels:  gridview
Gridviewscroll
Freeze column and fixed header in Table or GridView
Stars: ✭ 99 (+47.76%)
Mutual labels:  gridview
FutureBuilderWithPagination
we're gonna look out how to work with Future Builder and show the result in GridView. We'll also see how to use Pagination with Future Builder.Future Builder is a widget that returns another widget based on futures execution result. It builds itself based on the latest AsyncSnapshots.
Stars: ✭ 45 (-32.84%)
Mutual labels:  gridview
revue-draggable
A Vue component that makes anything draggable 🤏 Easy to use and control. Supports Vue3 and Vue2 🦾
Stars: ✭ 117 (+74.63%)
Mutual labels:  draggable
ng2-gridstack
A gridstack component for Angular2+
Stars: ✭ 12 (-82.09%)
Mutual labels:  draggable
UnityDynamicScrollView
Dynamic scrollView based on UGUI
Stars: ✭ 161 (+140.3%)
Mutual labels:  gridview
react-native-dnd-board
A drag and drop Kanban board for React Native.
Stars: ✭ 41 (-38.81%)
Mutual labels:  draggable
draggable-polyfill
🌈a beautify polyfill for native drag!
Stars: ✭ 49 (-26.87%)
Mutual labels:  draggable
Overscroll Decor
Android: iOS-like over-scrolling effect applicable over almost all scrollable Android views.
Stars: ✭ 2,671 (+3886.57%)
Mutual labels:  gridview
vue3-smooth-dnd
Vue3 wrapper components for smooth-dnd
Stars: ✭ 92 (+37.31%)
Mutual labels:  draggable
Placeholderview
This library provides advance views for lists and stacks. Some of the views are build on top of RecyclerView and others are written in their own. Annotations are compiled by annotation processor to generate bind classes. DOCS -->
Stars: ✭ 2,104 (+3040.3%)
Mutual labels:  gridview
vue2-data-tree
A tree that data is lazy loaded. Support dragging node, checking node, editing node's name and selecting node.
Stars: ✭ 41 (-38.81%)
Mutual labels:  draggable
easy-drag
easy to realize drag and drop effect
Stars: ✭ 34 (-49.25%)
Mutual labels:  draggable
Flutter-GridView-Example-UI
Flutter GridView Example in a Shopping List Design - day 10
Stars: ✭ 188 (+180.6%)
Mutual labels:  gridview
drag-to-close
Android library that provides a view group which allows to finish an activity by dragging a view.
Stars: ✭ 69 (+2.99%)
Mutual labels:  draggable

flutter_draggable_gridview

flutter_draggable_gridview version flutter_draggable_gridview Git Stars MIT License

This package supports drag & drop widgets inside the GridView.builder for multiplatform. It provides all the properties which are available in Gridview.builder and easy to implement with the few lines of code.

Draggable GridView.

Draggable GridView

Usage

Example

      DraggableGridViewBuilder(
        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
          crossAxisCount: 2,
          childAspectRatio: MediaQuery.of(context).size.width / (MediaQuery.of(context).size.height / 3),
        ),
        children: _listOfDraggableGridItem,
        isOnlyLongPress: false,
        dragCompletion: (List<DraggableGridItem> list, int beforeIndex, int afterIndex) {
          print( 'onDragAccept: $beforeIndex -> $afterIndex');
        },
        dragFeedback: (List<DraggableGridItem> list, int index) {
          return Container(
            child: list[index].child,
            width: 200,
            height: 150,
          );
        },
        dragPlaceHolder: (List<DraggableGridItem> list, int index) {
          return PlaceHolderWidget(
            child: Container(
              color: Colors.white,
            ),
          );
        },
      );

Required parameters

gridDelegate:

A delegate that controls the layout of the children within the GridView.

children:

This property contains list of [DraggableGridItem] and it is use to show the widget inside the GridView.builder to provide the drag & drop functionality. Also, it contains isDraggable parameter which manages enable/disable the drag & drop functionality.

dragCompletion:

This callback provides updated list and old and new indexes.

Optional parameters

isOnlyLongPress:

This property contains bool value. If this property is false then it works with simple press draggable or else it works with long press. default value is 'true'.

dragFeedback:

With this callback, you have to return a Widget and we will use this widget in feedback. Learn more about feedback from Draggable class.

dragPlaceHolder:

TWith this callback, you have to return a PlaceHolderWidget and we will use this widget in place holder.

dragChildWhenDragging:

With this callback, you have to return a Widget and we will display this widget instead of child when drags are under way. Learn more about childWhenDragging from Draggable class.

Last But Not Least 😍

You can use all the GridView.builder properties with DraggableGridViewBuilder class.

Note:

The result returns in List. so it can be lost later, you are responsible for storing it somewhere permanent (if needed).

Guideline for contributors

Contribution towards our repository is always welcome, we request contributors to create a pull request to the develop branch only.

Guideline to report an issue/feature request

It would be great for us if the reporter can share the below things to understand the root cause of the issue.

  • Library version
  • Code snippet
  • Logs if applicable
  • Device specification like (Manufacturer, OS version, etc)
  • Screenshot/video with steps to reproduce the issue

LICENSE!

Flutter Draggable GridView is MIT-licensed.

Let us know!

We’d be really happy if you send us links to your projects where you use our component. Just send an email to [email protected] And do let us know if you have any questions or suggestion regarding our work.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].