/*
const Radio({
Key key,
@required this.value, 是否选中
@required this.groupValue,分组
@required this.onChanged,选中回调
this.activeColor,//控件颜色
this.focusColor,
this.hoverColor,
this.materialTapTargetSize,
  为目标与布局大小,默认有 padded 和 shrinkWrap 两种状态;
  padded 为谷歌设计建议尺寸 48px * 48px,
  shrinkWrap 为目标尺寸缩小到谷歌设计提供的最小值,但在实际效果中差别不大。如果你的图标小于48,需要改未此设置,突破下限
this.focusNode,默认
this.autofocus = false,默认
})*/
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  static const String _title = 'Flutter Code Sample';

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: _title,
      home: Scaffold(
        appBar: AppBar(title: const Text(_title)),
        body: Center(
          child: MyStatefulWidget(),
        ),
      ),
    );
  }
}

enum SingingCharacter { lafayette, jefferson }

class MyStatefulWidget extends StatefulWidget {
  MyStatefulWidget({Key key}) : super(key: key);

  @override
  _MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}

class _MyStatefulWidgetState extends State<MyStatefulWidget> {
  SingingCharacter _character = SingingCharacter.lafayette;

  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        ListTile(
          title: const Text('Lafayette'),
          leading: Radio(
            value: SingingCharacter.lafayette,
            activeColor: Colors.red,
            groupValue: _character,
            onChanged: (SingingCharacter value) {
              setState(() {
                _character = value;
              });
            },
          ),
        ),
        ListTile(
          title: const Text('Thomas Jefferson'),
          leading: Radio(
            value: SingingCharacter.jefferson,
            groupValue: _character,
            onChanged: (SingingCharacter value) {
              setState(() {
                _character = value;
              });
            },
          ),
        ),
      ],
    );
  }
}

常用方法已经添加了注释,可复制代码直接运行看效果

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐