Flutter - ElevatedButton Border Radius
The ElevatedButton class represents a material design elevated button. The
flutter developers can use elevated buttons to add dimension to otherwise
mostly flat layouts such as in long busy lists of content, or in wide spaces.
The flutter developers should avoid using elevated buttons on already-elevated
content such as dialogs or cards. The flutter developers can override the
ElevatedButton style with its style parameter. The static styleFrom() method
is a convenient way to create an ElevatedButton ButtonStyle from simple
values.
The following flutter application development tutorial will demonstrate how to set or change an ElevatedButton widget’s border radius. Here we will use the ElevatedButton class’s style property to change the ElevatedButton’s border-radius and make it rounded.
The ElevatedButton class’s style property value is a ButtonStyle object which customizes this button's appearance.
The ButtonStyle class represents the visual properties that most buttons have in common. The ButtonStyle class’s all properties are null by default.
ButtonStyle class’s many properties are MaterialStateProperty objects which resolve to different values depending on the button's state. The material state properties represent values that depend on a widget's material state.
The flutter developers can set or change the border radius of an ElevatedButton by sending a value to the ButtonStyle class’s shape property.
The ButtonStyle class’s shape property defines the shape of the button's underlying Material.
The MaterialStateProperty resolveWith() is a convenient method for creating a MaterialStateProperty from a MaterialPropertyResolver function alone.
The RoundedRectangleBorder class represents a rectangular border with rounded corners. The RoundedRectangleBorder class borderRadius property value is a BorderRadiusGeometry object which defines the radii for each corner. Using this parameter value we make the ElevatedButton border corners rounded.
The BorderRadiusGeometry class represents the base class for BorderRadius that allows for text-direction-aware resolution.
The BorderRadius class represents an immutable set of radii for each corner of a rectangle. The BorderRadius.all(Radius radius) constructors create a border radius where all radii are radius.
Here we used BorderRadius.all(Radius radius) constructors to create a rounded corners ElevatedButton widget in which all corners are equally rounded. We also put padding to this ElevatedButton using the ButtonStyle class’s padding property.
The following flutter application development tutorial will demonstrate how to set or change an ElevatedButton widget’s border radius. Here we will use the ElevatedButton class’s style property to change the ElevatedButton’s border-radius and make it rounded.
The ElevatedButton class’s style property value is a ButtonStyle object which customizes this button's appearance.
The ButtonStyle class represents the visual properties that most buttons have in common. The ButtonStyle class’s all properties are null by default.
ButtonStyle class’s many properties are MaterialStateProperty objects which resolve to different values depending on the button's state. The material state properties represent values that depend on a widget's material state.
The flutter developers can set or change the border radius of an ElevatedButton by sending a value to the ButtonStyle class’s shape property.
The ButtonStyle class’s shape property defines the shape of the button's underlying Material.
The MaterialStateProperty resolveWith() is a convenient method for creating a MaterialStateProperty from a MaterialPropertyResolver function alone.
The RoundedRectangleBorder class represents a rectangular border with rounded corners. The RoundedRectangleBorder class borderRadius property value is a BorderRadiusGeometry object which defines the radii for each corner. Using this parameter value we make the ElevatedButton border corners rounded.
The BorderRadiusGeometry class represents the base class for BorderRadius that allows for text-direction-aware resolution.
The BorderRadius class represents an immutable set of radii for each corner of a rectangle. The BorderRadius.all(Radius radius) constructors create a border radius where all radii are radius.
Here we used BorderRadius.all(Radius radius) constructors to create a rounded corners ElevatedButton widget in which all corners are equally rounded. We also put padding to this ElevatedButton using the ButtonStyle class’s padding property.
main.dart
import 'package:flutter/material.dart';
void main(){
runApp(
MaterialApp(
theme: ThemeData(primarySwatch: Colors.amber),
home: Scaffold(
appBar: AppBar(
title: const Text("ElevatedButton Border Radius")
),
body: Center(
child: ElevatedButton(
onPressed: (){},
child: const Text("Click Me"),
style: ButtonStyle(
shape: MaterialStateProperty.resolveWith(
(states) => const RoundedRectangleBorder(
borderRadius: BorderRadius
.all(Radius.circular(16))
)
),
padding: MaterialStateProperty.resolveWith(
(states) => const EdgeInsets.symmetric(
horizontal: 64, vertical: 32
)
)
)
),
)
),
),
);
}