| // 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 [Card]. |
| |
| import 'package:flutter/material.dart'; |
| |
| void main() { runApp(const CardExamplesApp()); } |
| |
| class CardExamplesApp extends StatelessWidget { |
| const CardExamplesApp({super.key}); |
| |
| @override |
| Widget build(BuildContext context) { |
| return MaterialApp( |
| theme: ThemeData(colorSchemeSeed: const Color(0xff6750a4), useMaterial3: true), |
| home: Scaffold( |
| appBar: AppBar(title: const Text('Card Examples')), |
| body: Column( |
| children: const <Widget>[ |
| Spacer(), |
| ElevatedCardExample(), |
| FilledCardExample(), |
| OutlinedCardExample(), |
| Spacer(), |
| ], |
| ), |
| ), |
| ); |
| } |
| } |
| |
| /// An example of the elevated card type. |
| /// |
| /// The default settings for [Card] will provide an elevated |
| /// card matching the spec: |
| /// |
| /// https://m3.material.io/components/cards/specs#a012d40d-7a5c-4b07-8740-491dec79d58b |
| class ElevatedCardExample extends StatelessWidget { |
| const ElevatedCardExample({ super.key }); |
| |
| @override |
| Widget build(BuildContext context) { |
| return const Center( |
| child: Card( |
| child: SizedBox( |
| width: 300, |
| height: 100, |
| child: Center(child: Text('Elevated Card')), |
| ), |
| ), |
| ); |
| } |
| } |
| |
| /// An example of the filled card type. |
| /// |
| /// To make a [Card] match the filled type, the default elevation and color |
| /// need to be changed to the values from the spec: |
| /// |
| /// https://m3.material.io/components/cards/specs#0f55bf62-edf2-4619-b00d-b9ed462f2c5a |
| class FilledCardExample extends StatelessWidget { |
| const FilledCardExample({ super.key }); |
| |
| @override |
| Widget build(BuildContext context) { |
| return Center( |
| child: Card( |
| elevation: 0, |
| color: Theme.of(context).colorScheme.surfaceVariant, |
| child: const SizedBox( |
| width: 300, |
| height: 100, |
| child: Center(child: Text('Filled Card')), |
| ), |
| ), |
| ); |
| } |
| } |
| |
| /// An example of the outlined card type. |
| /// |
| /// To make a [Card] match the outlined type, the default elevation and shape |
| /// need to be changed to the values from the spec: |
| /// |
| /// https://m3.material.io/components/cards/specs#0f55bf62-edf2-4619-b00d-b9ed462f2c5a |
| class OutlinedCardExample extends StatelessWidget { |
| const OutlinedCardExample({ super.key }); |
| |
| @override |
| Widget build(BuildContext context) { |
| return Center( |
| child: Card( |
| elevation: 0, |
| shape: RoundedRectangleBorder( |
| side: BorderSide( |
| color: Theme.of(context).colorScheme.outline, |
| ), |
| borderRadius: const BorderRadius.all(Radius.circular(12)), |
| ), |
| child: const SizedBox( |
| width: 300, |
| height: 100, |
| child: Center(child: Text('Outlined Card')), |
| ), |
| ), |
| ); |
| } |
| } |