Styling in Flutter
Text: TextStyle
- Picking colors:
Color.fromRGBO(r, g, b, opacity) / Color(0xffaaaaaa) / Colors.ColorName
- Other styles include
fontSize, letterSpacing, fontWeight, etc.
return MaterialApp(
home: Scaffold(
appBar: AppBar( title: Text('MyApp')),
body: SizedBox(
child: Text('Hello World',
style: TextStyle(
color: Color(0xff3a0e55),
fontSize: 20,
letterSpacing: 1,
fontWeight: FontWeight.w900
),)
)
)
);
Icon
- Can change
size, color
return MaterialApp(
home: Scaffold(
appBar: AppBar( title: Text('MyApp')),
body: SizedBox(
child: Icon(Icons.star, color: Colors.amber, size: 300)
)
)
);
TextButton(), IconButton(), ElevatedButton()
- Two parameters needed:
child, onPressed
return MaterialApp(
home: Scaffold(
appBar: AppBar( title: Text('MyApp')),
body: Row(
children: [
SizedBox(
child: TextButton(
onPressed: (){},
child: Text('Text Button')
)
),
SizedBox(
child: ElevatedButton(
onPressed: (){},
style: ButtonStyle(),
child: Text('Elevated Button'),
)
),
SizedBox(
child: IconButton(
icon: Icon(Icons.star),
onPressed: (){},
),
)
],
)
)
);
Designing AppBar
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('MyApp'), // Title on the left
leading: Icon(Icons.add_card), // Icon on the left
actions: const [Icon(Icons.settings), Icon(Icons.notifications_active)], // Icon on the right
),
body: SizedBox()
)
);
Steps of creating a layout
- Prepare an example layout
- Draw boxes around each component
- Start creating a widget from the outmost box
- Align and decorate