import 'package:flutter/material.dart'; class MyGridView { GestureDetector getStructuredGridCell(name, image) { // Wrap the child under GestureDetector to setup a on click action return GestureDetector( onTap: () { print("onTap called."); }, child: Card( elevation: 1.5, child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisSize: MainAxisSize.min, verticalDirection: VerticalDirection.down, children: [ Image(image: AssetImage('data_repo/img/' + image)), Center( child: Text(name), ) ], )), ); } GridView build() { return GridView.count( primary: true, padding: const EdgeInsets.all(1.0), crossAxisCount: 2, childAspectRatio: 0.85, mainAxisSpacing: 1.0, crossAxisSpacing: 1.0, children: [ getStructuredGridCell("Facebook", "social/facebook.png"), getStructuredGridCell("Twitter", "social/twitter.png"), getStructuredGridCell("Instagram", "social/instagram.png"), getStructuredGridCell("Linkedin", "social/linkedin.png"), getStructuredGridCell("Google Plus", "social/google_plus.png"), getStructuredGridCell("Launcher Icon", "ic_launcher.png"), ], ); } }