Flutter Radio RadioListTile 单选框

Flutter 系列文章 总体目录

Radio是单选框,和checkbox一样本身不包含状态,当groupValue = value时代表选中状态。

属性说明
value 、groupValue一起控制是否为选中状态,当groupValue = value时代表选中状态
onChanged变化时回调
activeColor激活状态下颜色
materialTapTargetSize点击区域,通 checkbox的materialTapTargetSize

RadioListTile的属性和 CheckboxListTile属性一样,

例子:

import 'package:flutter/material.dart';

class RadioDemo extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _RadioDemo();
  }
}

class _RadioDemo extends State<RadioDemo> {
  String _newValue = '语文';

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Column(
      children: <Widget>[
        Row(
          children: <Widget>[
            Radio<String>(
                value: "语文",
                groupValue: _newValue,
                onChanged: (value) {
                  setState(() {
                    _newValue = value;
                  });
                }),
            Radio<String>(
                value: "数学",
                groupValue: _newValue,
                onChanged: (value) {
                  setState(() {
                    _newValue = value;
                  });
                }),
            Radio<String>(
                value: "英语",
                groupValue: _newValue,
                onChanged: (value) {
                  setState(() {
                    _newValue = value;
                  });
                }),
          ],
        ),
        Row(
          children: <Widget>[
            Flexible(
              child: RadioListTile<String>(
                value: '语文',
                title: Text('语文'),
                groupValue: _newValue,
                onChanged: (value) {
                  setState(() {
                    _newValue = value;
                  });
                },
              ),
            ),
            Flexible(
              child: RadioListTile<String>(
                value: '数学',
                title: Text('数学'),
                groupValue: _newValue,
                onChanged: (value) {
                  setState(() {
                    _newValue = value;
                  });
                },
              ),
            ),
            Flexible(
              child: RadioListTile<String>(
                value: '英语',
                title: Text('英语'),
                groupValue: _newValue,
                onChanged: (value) {
                  setState(() {
                    _newValue = value;
                  });
                },
              ),
            ),
          ],
        ),
        Column(
          children: <Widget>[
            RadioListTile<String>(
              value: '语文',
              title: Text('语文'),
              groupValue: _newValue,
              onChanged: (value) {
                setState(() {
                  _newValue = value;
                });
              },
            ),
            RadioListTile<String>(
              value: '数学',
              title: Text('数学'),
              groupValue: _newValue,
              onChanged: (value) {
                setState(() {
                  _newValue = value;
                });
              },
            ),
            RadioListTile<String>(
              value: '英语',
              title: Text('英语'),
              groupValue: _newValue,
              onChanged: (value) {
                setState(() {
                  _newValue = value;
                });
              },
            ),
          ],
        ),
      ],
    );
  }
}


在这里插入图片描述

交流

如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit)。

同时也欢迎关注我的Flutter公众号【老孟程序员】,公众号首发Flutter的相关内容。

Flutter地址:http://laomengit.com 里面包含160多个组件的详细用法。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值