MongolOutlinedButton class
A vertical Material Design "Outlined Button"; essentially a MongolTextButton with an outlined border.
Outlined buttons are medium-emphasis buttons. They contain actions that are important, but they aren’t the primary action in an app.
An outlined button is a label child displayed on a (zero elevation) Material widget. The label's MongolText and Icon widgets are displayed in the style's ButtonStyle.foregroundColor and the outline's weight and color are defined by ButtonStyle.side. The button reacts to touches by filling with the style's ButtonStyle.backgroundColor.
The outlined button's default style is defined by defaultStyleOf. The style of this outline button can be overridden with its style parameter. The style of all text buttons in a subtree can be overridden with the OutlinedButtonTheme and the style of all of the outlined buttons in an app can be overridden with the Theme's ThemeData.outlinedButtonTheme property.
Unlike MongolTextButton or MongolElevatedButton, outline buttons have a
default ButtonStyle.side which defines the appearance of the
outline. Because the default side
is non-null, it
unconditionally overrides the shape's OutlinedBorder.side. In
other words, to specify an outlined button's shape and the
appearance of its outline, both the ButtonStyle.shape and
ButtonStyle.side properties must be specified.
{@tool dartpad --template=stateless_widget_scaffold_center}
Here is an example of a basic MongolOutlinedButton.
Widget build(BuildContext context) {
return MongolOutlinedButton(
onPressed: () {
print('Received click');
},
child: const MongolText('Click Me'),
);
}
{@end-tool}
The static styleFrom method is a convenient way to create a outlined button ButtonStyle from simple values.
See also:
- MongolElevatedButton, a filled vertical material design button with a shadow.
- MongolTextButton, a vertical material design button without a shadow.
- material.io/design/components/buttons.html
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- MongolOutlinedButton
Constructors
- MongolOutlinedButton({Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ButtonStyle? style, FocusNode? focusNode, bool autofocus = false, Clip clipBehavior = Clip.none, required Widget child})
-
Create a MongolOutlinedButton.
const
- MongolOutlinedButton.icon({Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ButtonStyle? style, FocusNode? focusNode, bool? autofocus, Clip? clipBehavior, required Widget icon, required Widget label})
-
Create a text button from a pair of widgets that serve as the button's
icon
andlabel
.factory
Properties
- autofocus → bool
-
True if this widget will be selected as the initial focus when no other
node in its scope is currently focused.
finalinherited
- child → Widget?
-
Typically the button's label.
finalinherited
- clipBehavior → Clip
-
The content will be clipped (or not) according to this option.
finalinherited
- enabled → bool
-
Whether the button is enabled or disabled.
no setterinherited
- focusNode → FocusNode?
-
An optional focus node to use as the focus node for this widget.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onLongPress → VoidCallback?
-
Called when the button is long-pressed.
finalinherited
- onPressed → VoidCallback?
-
Called when the button is tapped or otherwise activated.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- style → ButtonStyle?
-
Customizes this button's appearance.
finalinherited
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< MongolButtonStyleButton> -
Creates the mutable state for this widget at a given location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of
DiagnosticsNode
objects describing this node's children.inherited -
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
defaultStyleOf(
BuildContext context) → ButtonStyle - Defines the button's default appearance.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
themeStyleOf(
BuildContext context) → ButtonStyle? - Returns the ButtonStyle that belongs to the button's component theme.
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
styleFrom(
{Color? primary, Color? onSurface, Color? backgroundColor, Color? shadowColor, double? elevation, TextStyle? textStyle, EdgeInsetsGeometry? padding, Size? minimumSize, Size? fixedSize, Size? maximumSize, BorderSide? side, OutlinedBorder? shape, MouseCursor? enabledMouseCursor, MouseCursor? disabledMouseCursor, VisualDensity? visualDensity, MaterialTapTargetSize? tapTargetSize, Duration? animationDuration, bool? enableFeedback, AlignmentGeometry? alignment, InteractiveInkFeatureFactory? splashFactory}) → ButtonStyle - A static convenience method that constructs an outlined button ButtonStyle given simple values.