flutter(十五)Flutter Radio 单选框

1,254 阅读1分钟
原文链接: blog.csdn.net

Radio 单选框

单选框记录的值

  String _newValue = '语文';

1 一组单选框

在这里插入图片描述


  Widget buildRowRadio() {
    return Row(
      children: <Widget>[
        Radio<String>(
            //当前Radio的值
            value: "语文",
            //当前Radio 所在组的值
            //只有value 与groupValue 值一至时才会被选中
            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;
              });
            }),
      ],
    );
  }

2 横排一组显示文字的单选框

在这里插入图片描述

 Widget buildRowFixTitleRadio() {
    return 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;
              });
            },
          ),
        ),
      ],
    );
  }

3 竖排一组显示文字的单选框

在这里插入图片描述

 Widget buildRadio() {
    return 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;
            });
          },
        ),
      ],
    );
  }