xxxxxxxxxx
import 'package:flutter/material.dart';
import 'package:flutter_reorderable_grid_view/flutter_reorderable_grid_view.dart';
class MyReorderableGridView extends StatefulWidget {
@override
_MyReorderableGridViewState createState() => _MyReorderableGridViewState();
}
class _MyReorderableGridViewState extends State<MyReorderableGridView> {
List<String> items = [
'Item 1',
'Item 2',
'Item 3',
'Item 4',
'Item 5',
'Item 6',
];
@override
Widget build(BuildContext context) {
return ReorderableGridView(
children: List.generate(items.length, (index) {
return Container(
key: ValueKey(items[index]),
color: Colors.blue,
margin: EdgeInsets.all(8.0),
child: Center(
child: Text(
items[index],
style: TextStyle(color: Colors.white, fontSize: 20.0),
),
),
);
}),
onReorder: (oldIndex, newIndex) {
setState(() {
if (newIndex > oldIndex) {
newIndex -= 1;
}
final item = items.removeAt(oldIndex);
items.insert(newIndex, item);
});
},
crossAxisCount: 3,
);
}
}
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Reorderable Grid View'),
),
body: MyReorderableGridView(),
),
));
}
xxxxxxxxxx
import 'package:flutter/material.dart';
void main() {
runApp(GeeksForGeeks());
}
class GeeksForGeeks extends StatelessWidget {
// This widget is the root of your application
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
backgroundColor: Colors.blueGrey[900],
title: Center(
child: Text(
'Flutter GridView Demo',
style: TextStyle(
color: Colors.blueAccent,
fontWeight: FontWeight.bold,
fontSize: 30.0,
),
),
),
),
body: GridView.count(
crossAxisCount: 2,
crossAxisSpacing: 10.0,
mainAxisSpacing: 10.0,
shrinkWrap: true,
children: List.generate(20, (index) {
return Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: NetworkImage('img.png'),
fit: BoxFit.cover,
),
borderRadius:
BorderRadius.all(Radius.circular(20.0),),
),
),
);
},),
),
),
);
}
}