Understanding Material Design
What is Material Design?
Material Design is a design system created by Google that provides guidelines for creating beautiful, consistent, and user-friendly apps. It defines how UI components (buttons, colors, typography, etc.) should look and behave.
Flutter comes with a built-in Material Design library (material.dart
) that makes it easy to create apps with a modern and attractive UI.
Using Material Design in Flutter
To use Material Design in your Flutter app, wrap your app with MaterialApp
:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Material Design App',
theme: ThemeData(
primarySwatch: Colors.blue, // Defines app theme
),
home: HomeScreen(),
);
}
}
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Home Page')),
body: Center(child: Text('Hello, Flutter!')),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add),
),
);
}
}
Key Material Design Components in Flutter
Component | Description |
---|---|
AppBar | The top navigation bar with a title and actions. |
Text | Displays text with Material Design styling. |
ElevatedButton | A clickable button with elevation. |
FloatingActionButton (FAB) | A round button usually for primary actions. |
Scaffold | Provides a structure with an app bar, body, and bottom navigation. |
Card | A Material-style card container. |
ListView | A scrollable list of items. |
Why Use Material Design?
✅ Consistent UI – Follows Google's design principles.
✅ Easy to Use – Pre-built widgets save development time.
✅ Responsive – Works well on different screen sizes.
✅ Customizable – Modify colors, fonts, and themes as needed.