flutter 中的多选按钮组件有两种,供大家参考,具体内容如下

1. checkbox

多选按钮,一般用来表现一些简单的信息。

常用属性如下:

(1). value  多选的值;

(2). onchanged 选择改变触发的事件;

(3). activecolor 选中时的颜色;

(4). checkcolor 选中后对号的颜色;

2. checkboxlisttile

包含更多信息的多选项,提供多种配置信息的属性,可以表现更丰富的信息。

常用的属性如下:

(1). value  多选的值;

(2). onchanged 选择改变触发的事件;

(3). activecolor 选中时的颜色;

(4). title 标题;

(5). subtitle 副标题;

(6). secondary 次要的;

(7). activecolor 选中时的颜色;

(8). checkcolor 选中后对号的颜色;

(9). selected 选中的时候文字颜色是否跟着改变;

3. 代码示例

import 'package:flutter/material.dart';
 
class checkboxpage extends statefulwidget {
    checkboxpage({key key}) : super(key: key);
    @override
    _checkboxpagestate createstate() => _checkboxpagestate();
}
 
class _checkboxpagestate extends state<checkboxpage> {
   
    var status = true;
    var flag = true;
    var check = true;
 
 
    @override
    widget build(buildcontext context) {
        return scaffold(
            appbar:appbar(
                title: text("多选框"),
            ),
            body:column(
                mainaxisalignment: mainaxisalignment.center,
                children:<widget>[ 
 
                    row(
                        children:<widget>[
                            // 选中框
                            checkbox(
                                value:this.status,
                                // 改变后的事件
                                onchanged:(value){
                                    setstate(() {
                                       this.status = value;
                                    });
                                },
                                // 选中后的颜色
                                activecolor: colors.red,
                                // 选中后对号的颜色
                                checkcolor: colors.blue,
                            ),
                            text(this.status?"选中":"取消")
                        ],
                    ),
 
                    sizedbox(height:10),
                    // 带标题的选中框
                    checkboxlisttile(
                        value:this.flag,
                        // 改变后的事件
                        onchanged:(value){
                            setstate(() {
                                this.flag = value;
                            });
                        },
                        title:text("标题"),
                        subtitle: text("这是副标题"),
                        // 选中后的颜色
                        activecolor: colors.red,
                        // 选中的文字是否跟着高亮
                        selected: this.flag,
                        // 选中后对号的颜色
                        checkcolor: colors.blue,
                    ),
 
                    sizedbox(height:10),
                    // 带图标和标题的选中框
                    checkboxlisttile(
                        value:this.check,
                        onchanged:(value){
                            setstate(() {
                                this.check = value;
                            });
                        },
                        title:text("标题"),
                        subtitle: text("这是副标题"),
                        secondary: icon(icons.help),
                        activecolor: colors.red,
                        selected: this.check,
                        checkcolor: colors.blue,
                    ),
                ],
            )
        );
    }
}

效果图如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。