Introduction
This article will teach about buttons and Text widgets in a flutter. In Flutter, we have multiple types of buttons and text, and based on the requirement, we have to use that type of button or text in our project.
In the previous article, we learned basic terminology in Flutter, including widgets and their type and life cycle methods of the stateful widget.
Some important Buttons in Flutter are as follows:
Elevated Button in Flutter
The elevated Button is used for important actions, like submitting a form, confirming a choice, etc. By default, it has some background and border.
Example
Text Button in Flutter
The text button is a very simple button that can be used when we want to perform some action when the user tab a label on the screen. By default, it does not have any border or elevation.
Example
Icon Button in Flutter
When the user clicks on the icon on the screen and we want to perform some operation, the icon button is a good choice in this scenario.
Example
Outline Button in Flutter
This button is used when our requirement is a button with an outline border and no background. It is typically used for secondary actions, like canceling a form or clearing a search field.
Example
Floating Action Button in Flutter
It is also called the FAB button. This button generally appears on the bottom right side of the screen. It is typically used to represent the primary action that the user can take on a screen. For example, the FAB could be used in a TODO app to add a new task.
Example
Some important Texts in Flutter are as follows:
Text Widget in Flutter
Text is a simple widget that displays a label on the screen. We can customize the text using the style property.
Example
Rich Text Widget in Flutter
We can create text with different font styles, sizes, colors, and backgrounds using RichText without creating multiple text widgets. We can customize the text with various styles using the TextSpan class.
Example
Output
Source Code- main.dart
MyHomePage.dart
import 'package:flutter/material.dart';
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key}) : super(key: key);
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Home Page")),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text("Elevated Button is Clicked")));
},
child: Text("Elevated Button"),
),
SizedBox(
height: 10,
),
TextButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text("Text Button is Clicked")));
},
child: Text("Text Button"),
),
SizedBox(
height: 10,
),
IconButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text("Icon Button is Clicked")));
},
icon: Icon(Icons.add),
),
SizedBox(
height: 10,
),
OutlinedButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text("Outline Button is Clicked")));
},
child: Text("Outline Button"),
),
SizedBox(
height: 10,
),
SizedBox(
height: 10,
),
Text("This is sample text",
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.black,
)),
RichText(
text: TextSpan(children: [
TextSpan(
text: "You ",
style: TextStyle(fontSize: 14, color: Colors.green)),
TextSpan(
text: "are ",
style: TextStyle(fontSize: 14, color: Colors.green)),
TextSpan(
text: "looking ",
style: TextStyle(fontSize: 14, color: Colors.green)),
TextSpan(
text: "good",
style: TextStyle(fontSize: 20, color: Colors.red)),
])),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Icon Button is Clicked")));
},
child: Icon(Icons.add),
),
);
}
}
Conclusion
In this article, we have seen different types of buttons and texts in Flutter and how to use them. Please share your thoughts if you have any suggestions or queries on this article. Thanks for reading, and I hope you like it.
Happy learning, friends!