import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
runApp(Grid());
}
setData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setBool("tapped", true);
}
getData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
bool isTapped = prefs.getBool("tapped") ?? false;
return isTapped;
}
List<Widget> gridChild = [
Padding(
padding: EdgeInsets.all(10.0),
child: GestureDetector(
onTap: () {},
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/backg.jpg'),
fit: BoxFit.cover,
),
borderRadius: BorderRadius.all(Radius.circular(20)),
),
padding: EdgeInsets.all(8.0),
alignment: Alignment.topCenter,
child: Text(
'Project 1',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white, fontSize: 25, fontWeight: FontWeight.bold),
),
),
),
),
];
class Grid extends StatefulWidget {
@override
_GridState createState() => _GridState();
}
class _GridState extends State<Grid> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: new AppBar(
backgroundColor: const Color(0xFF0099a9),
),
body: Container(
child: GridView.count(
//padding: EdgeInsets.all(10.0),
crossAxisCount: 2,
children:
List.generate(gridChild.length, (index) => gridChild[index]),
),
),
floatingActionButton: FloatingActionButton(
backgroundColor: Colors.red,
child: Icon(Icons.add),
onPressed: () async {
bool onTapped = await getData();
setData();
setState(() {
gridChild.add(
Padding(
padding: EdgeInsets.all(10.0),
child: GestureDetector(
onTap: () {},
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/backg.jpg'),
fit: BoxFit.cover,
),
borderRadius: BorderRadius.all(Radius.circular(20)),
),
padding: EdgeInsets.all(8.0),
alignment: Alignment.topCenter,
child: Text(
'Project 1',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 25,
fontWeight: FontWeight.bold),
),
),
),
),
);
// _incrementCounter();
});
},
),
),
);
}
}