7_flutter_Switch(开关),Radio(单选框),Checkbox(复选框)

1_Switch(开关)


import 'package:flutter/material.dart';

void main() => runApp(SnackBarDemo());

class SnackBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('SnackBar Demo'),
        ),
        body: SnackBarPage(),
      ),
    );
  }
}

class SnackBarPage extends StatefulWidget {
  @override
  _SnackBarPageState createState() => _SnackBarPageState();
}

class _SnackBarPageState extends State<SnackBarPage> {
 bool _value=false;

  @override
  Widget build(BuildContext context) { 
    
    return Container(
      child: Center(
    child: Switch(
        value: _value,
        onChanged: (bool value) {
               setState(() {
                _value=value;
              if (_value==true) {
             final snackBar = SnackBar(content: Text('开'),);
              Scaffold.of(context).showSnackBar(snackBar); 
          } else {
            final snackBar = SnackBar(content: Text('关'),);
              Scaffold.of(context).showSnackBar(snackBar); 
          }
              });
            },
      )
    )
    );
   
  }
}
复制代码

2_Radio(单选框)


import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('RadioListTile Demo'),
        ),
        body: SnackBarPage(),
      ),
    );
  }
}

class SnackBarPage extends StatefulWidget {
  @override
  _SnackBarPageState createState() => _SnackBarPageState();
}

class _SnackBarPageState extends State<SnackBarPage> {
 String _groupValue='升压';

  @override
  Widget build(BuildContext context) { 
    
    return Container(
      child: Column(
        children: <Widget>[
          RadioListTile<String>(
            value: '升压',
            title: Text('升压'),
            groupValue: _groupValue,
            onChanged: (value){
              setState(() {
                _groupValue=value;
              });
            },
          ),

            RadioListTile<String>(
            value: '升降压',
            title: Text('升降压'),
            groupValue: _groupValue,
            onChanged: (value){
              setState(() {
                _groupValue=value;
              });
            },
          ),

            RadioListTile<String>(
            value: '降压',
            title: Text('降压'),
            groupValue: _groupValue,
            onChanged: (value){
              setState(() {
                _groupValue=value;
              });
            },
          ),
          RaisedButton(
            onPressed: (){
              final snackBar = SnackBar(content: Text('你选择的是$_groupValue'),);
              Scaffold.of(context).showSnackBar(snackBar);
            },
            child: Text('确定'),
          ),
        ],
      )
    );
   
  }
}
复制代码

3_Checkbox(复选框)


import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('RadioListTile Demo'),
        ),
        body: SnackBarPage(),
      ),
    );
  }
}

class SnackBarPage extends StatefulWidget {
  @override
  _SnackBarPageState createState() => _SnackBarPageState();
}

class _SnackBarPageState extends State<SnackBarPage> {
 bool _value=false;
 bool _value1=false;
 bool _value2=false;
  @override
  Widget build(BuildContext context) { 
    
    return Container(
      child: Column(
        children: <Widget>[

        CheckboxListTile(
          value: _value,
          title: Text('升压'),
          onChanged: (value){
            setState(() {
              _value=value;
            });
          },
        ),

        CheckboxListTile(
          value: _value1,
          title: Text('升降压'),
          onChanged: (value){
            setState(() {
              _value1=value;
            });
          },
        ),

   CheckboxListTile(
          value: _value2,
          title: Text('降压'),
          onChanged: (value){
            setState(() {
              _value2=value;
            });
          },
        ),
        RaisedButton(
            onPressed: (){
              final snackBar = SnackBar(content: Text('升压$_value,升降压$_value1,降压$_value2'),);
              Scaffold.of(context).showSnackBar(snackBar);
            },
            child: Text('确定'),
          ),

        ],
      )
    );
   
  }
}
复制代码

转载于:https://juejin.im/post/5c81b82fe51d453bfc4730c5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值