checkbox.1.dart 1.75 KB
Newer Older
1 2 3 4 5 6
// 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.

import 'package:flutter/material.dart';

7
/// Flutter code sample for M3 [Checkbox] with error state.
8

9
void main() => runApp(const CheckboxExampleApp());
10

11 12
class CheckboxExampleApp extends StatelessWidget {
  const CheckboxExampleApp({super.key});
13 14 15 16 17

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(useMaterial3: true, colorSchemeSeed: const Color(0xff6750a4)),
18
      title: 'Checkbox Sample',
19
      home: Scaffold(
20
        appBar: AppBar(title: const Text('Checkbox Sample')),
21
        body: const Center(
22
          child: CheckboxExample(),
23 24 25 26 27 28
        ),
      ),
    );
  }
}

29 30
class CheckboxExample extends StatefulWidget {
  const CheckboxExample({super.key});
31 32

  @override
33
  State<CheckboxExample> createState() => _CheckboxExampleState();
34 35
}

36
class _CheckboxExampleState extends State<CheckboxExample> {
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
  bool? isChecked = true;

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        Checkbox(
          tristate: true,
          value: isChecked,
          onChanged: (bool? value) {
            setState(() {
              isChecked = value;
            });
          },
        ),
        Checkbox(
          isError: true,
          tristate: true,
          value: isChecked,
          onChanged: (bool? value) {
            setState(() {
              isChecked = value;
            });
          },
        ),
        Checkbox(
          isError: true,
          tristate: true,
          value: isChecked,
          onChanged: null,
        ),
      ],
    );
  }
}