// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /// Flutter code sample for [ElevatedButton]. import 'package:flutter/material.dart'; void main() { runApp(const ButtonApp()); } class ButtonApp extends StatelessWidget { const ButtonApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData(colorSchemeSeed: const Color(0xff6750a4), useMaterial3: true), title: 'Button Types', home: const Scaffold( body: ButtonTypesExample(), ), ); } } class ButtonTypesExample extends StatelessWidget { const ButtonTypesExample({super.key}); @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(4.0), child: Row( children: const <Widget>[ Spacer(), ButtonTypesGroup(enabled: true), ButtonTypesGroup(enabled: false), Spacer(), ], ), ); } } class ButtonTypesGroup extends StatelessWidget { const ButtonTypesGroup({ super.key, required this.enabled }); final bool enabled; @override Widget build(BuildContext context) { final VoidCallback? onPressed = enabled ? () {} : null; return Padding( padding: const EdgeInsets.all(4.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: <Widget>[ ElevatedButton(onPressed: onPressed, child: const Text('Elevated')), FilledButton(onPressed: onPressed, child: const Text('Filled')), FilledButton.tonal(onPressed: onPressed, child: const Text('Filled Tonal')), OutlinedButton(onPressed: onPressed, child: const Text('Outlined')), TextButton(onPressed: onPressed, child: const Text('Text')), ], ), ); } }