| // 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')), |
| ], |
| ), |
| ); |
| } |
| } |