apptomate_custom_grid_tile 0.0.1
apptomate_custom_grid_tile: ^0.0.1 copied to clipboard
A versatile grid-style tile widget with flexible layout options, shadow effects, and tap interactions. Ideal for dashboard items, card-based UIs, or any grid layout in Flutter applications.
example/lib/main.dart
import 'package:apptomate_custom_grid_tile/apptomate_custom_grid_tile.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Custom Grid Tile Example')),
body: Padding(
padding: const EdgeInsets.all(12),
child: GridView.builder(
itemCount: 6,
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2, // Number of columns
crossAxisSpacing: 12,
mainAxisSpacing: 12,
childAspectRatio: 1.2,
),
itemBuilder: (context, index) {
return CustomGridTile(
height: 80,
title: 'Item $index',
subtitle: 'Description for item $index',
leading: const CircleAvatar(
backgroundImage: AssetImage('assets/images/user.png'),
),
//trailing: const Icon(Icons.arrow_forward_ios, size: 16),
onTap: () {
print('Item $index tapped');
},
backgroundColor: Colors.blueAccent.withValues(alpha: 0.1),
borderRadius: 12,
elevation: 6,
shadowColor: Colors.black45,
);
},
),
),
);
}
}