DynamicGrid

Additional

Language
Java
Version
N/A
Created
Sep 9, 2013
Updated
Feb 16, 2016 (Retired)
Owner
askerov
Contributors
JohNan
markya0616
denisk20
askerov
KarlNosworthy
mkorpela
Zac Sweers (hzsweers)
ahoppen
petershu
9
Activity
Badge
Generate
Download
Source code

Promotion

DynamicGrid

Drag and drop GridView for Android.

Depricated

It's much better to use solutions based on recycler view. For example https://github.com/h6ah4i/android-advancedrecyclerview

Demo

Requirements

Rearranging items require api 8 (Froyo). All grid item animations require api 11 (Honeycomb).

Usage

All the same as for normal GridView. Adapter must extends AbstractDynamicGridAdapter or BaseDynamicGridAdapter

gridView = (DynamicGridView) findViewById(R.id.dynamic_grid);
// pass to adapter context, list of items and number of columns count
gridView.setAdapter(new MyDynamicGridAdapter(this, itemsList, 3));

To start Drag'n'drop mode:

gridView.startEditMode();

Or from onItemClik() and onItemLongClick()

gridView.startEditMode(position);

To stop:

gridView.stopEditMode();

Adding drop listener:

gridView.setOnDropListener(new DynamicGridView.OnDropListener(){
    @Override
    public void onActionDrop(){
        // stop edit mode immediately after drop item
        gridView.stopEditMode();
        }
    });

You can find more detailed usage example here.

Credits

DynamicGridView based on Daniel Olshansky ListView cell dragging and rearranging example.