精华内容
参与话题
问答
  • Flutter Checkbox 复选框

    2019-10-11 09:02:16
    Flutter 复选框 有两种:一 是精简版Checkbox复选框 ,二是自带标题和副标题CheckboxListTile复选框
  • Flutter之单选和复选框

    千次阅读 2019-01-22 16:16:24
    Material widgets库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击Switch或...

    Material widgets库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击Switch或Checkbox时,它们会触发onChanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例:

     

     

    展开全文
  • CheckBoxListTitle复选框是比CheckBox更加强大的复选框,当然,CheckBoxListTitle实现的效果,用CheckBox也能实现,只不过布局更加麻烦点。这里是用CheckBoxListTitle实现全选全不选的一个简单案例:class DemoPage ...

    CheckBoxListTitle复选框是比CheckBox更加强大的复选框,当然,CheckBoxListTitle实现的效果,用CheckBox也能实现,只不过布局更加麻烦点。这里是用CheckBoxListTitle实现全选全不选的一个简单案例:

    class DemoPage extends StatefulWidget {

    DemoPage({Key key}) : super(key: key);

    @override

    _DemoPageState createState() => _DemoPageState();

    }

    class _DemoPageState extends State {

    var _value = false;

    void _valueChanged(bool value) {

    for (var i = 0; i < isChecks.length; i++) {

    isChecks[i] = value;

    }

    setState(() {

    _value = value;

    });

    }

    bool isCheck = false;

    List isChecks = [false, false, false];

    @override

    Widget build(BuildContext context) {

    return Column(

    children: [

    Center(

    child: CheckboxListTile(

    value: _value,

    //默认文字是否高亮

    selected: true,

    onChanged: _valueChanged,

    //文字图标是否对其

    dense: false,

    //文字是否三行显示

    isThreeLine: false,

    title: Text('全选/全不选'),

    //复选框和文字的位置,leading是复选框在文字前,platform和trailing是复选框在文字后

    controlAffinity: ListTileControlAffinity.leading,

    //子标题

    subtitle: Text('勾选下列选项'),

    //左侧小图标

    secondary: Icon(Icons.archive),

    //选中颜色

    activeColor: Colors.red,

    ),

    ),

    SizedBox(

    height: 20.0,

    ),

    CheckboxListTile(

    value: isChecks[0],

    onChanged: (bool val) {

    setState(() {

    isChecks[0] = val;

    });

    },

    //文字图标是否对其

    dense: false,

    //文字是否三行显示

    isThreeLine: false,

    title: Text('足球'),

    //复选框和文字的位置,leading是复选框在文字前,platform和trailing是复选框在文字后

    controlAffinity: ListTileControlAffinity.leading,

    //选中颜色

    activeColor: _value ? Colors.red : Colors.green,

    ),

    CheckboxListTile(

    value: isChecks[1],

    onChanged: (bool val) {

    setState(() {

    isChecks[1] = val;

    });

    },

    //文字图标是否对其

    dense: false,

    //文字是否三行显示

    isThreeLine: false,

    title: Text('乒乓球'),

    //复选框和文字的位置,leading是复选框在文字前,platform和trailing是复选框在文字后

    controlAffinity: ListTileControlAffinity.leading,

    //选中颜色

    activeColor: _value ? Colors.red : Colors.green,

    ),

    CheckboxListTile(

    value: isChecks[2],

    onChanged: (bool val) {

    setState(() {

    isChecks[2] = val;

    });

    },

    //文字图标是否对其

    dense: false,

    //文字是否三行显示

    isThreeLine: false,

    title: Text('篮球'),

    //复选框和文字的位置,leading是复选框在文字前,platform和trailing是复选框在文字后

    controlAffinity: ListTileControlAffinity.leading,

    //选中颜色

    activeColor: _value ? Colors.red : Colors.green,

    ),

    ],

    );

    }

    }

    展开全文
  • flutter 开关Switch与复选框Checkbox

    千次阅读 2019-06-30 18:48:26
    Switch and Checkbox activeColor → Color - 激活时原点的颜色。 activeThumbImage → ImageProvider - 原点还支持图片,激活时的效果。 activeTrackColor → Color - 激活时横条的颜色。 inactiveThumbColor ...

    Flutter 移动跨平台开发技术分享

    目前在西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒

    【x1】点击查看提示

    【x2】各种系列的教程

    【x3】Flutter文章积累目录


    【Flutter组件精讲【79】复选框CheckBox 1】

    1 Switch 与 Checkbox 的共有属性配置说明

       activeColor → Color - 激活时原点的颜色。
       activeThumbImage → ImageProvider - 原点还支持图片,激活时的效果。
       activeTrackColor → Color - 激活时横条的颜色。
       inactiveThumbColor → Color - 非激活时原点的颜色。
       inactiveThumbImage → ImageProvider - 非激活原点的图片效果。
       inactiveTrackColor → Color - 非激活时横条的颜色。
       onChanged → ValueChanged - 改变时触发。
       value → bool - 切换按钮的值。
    

    在接下来的文章篇幅中将定义两个变量来维护开关的状态以及复选框的状态,如下所示:

        bool _switchSelected = false; //维护单选开关状态
        bool _checkboxSelected = false; //维护复选框状态
    

    2 开关 Switch

    在这里插入图片描述

        Switch(
              //当前状态
              value: _switchSelected,
              // 激活时原点颜色
              activeColor: Colors.blue,
              inactiveTrackColor: Colors.blue.shade50,
              onChanged: (value) {
                //重新构建页面
                setState(() {
                  _switchSelected = value;
                });
              },
            )
    
    

    3 IOS 风格的 CupertinoSwitch

    在这里插入图片描述

            CupertinoSwitch(
              value: _switchSelected,
              onChanged: (value) {},
            ),
    

    4 SwitchListTile

    SwitchListTile 是将 开关 Switch 、文本 Text 、还有图标水平线性排列的便捷组件

    在这里插入图片描述

     new SwitchListTile(
       secondary: const Icon(Icons.shutter_speed),
       title: const Text('硬件加速'),
       value: _switchSelected,
       onChanged: (bool value) {
         setState(() {
           _switchSelected = !_switchSelected;
         });
       },
     ),
    


    5 复选框 Checkbox

    在这里插入图片描述

        Checkbox(
              value: _checkboxSelected,
              //选中时的颜色
              activeColor: Colors.red,
              onChanged: (value) {
                setState(() {
                  _checkboxSelected = value;
                });
              },
            )
    
    

    6 CheckboxListTile

    在这里插入图片描述

    
          CheckboxListTile(
              secondary: const Icon(Icons.shutter_speed),
              title: const Text('硬件加速'),
              value: _checkboxSelected,
              onChanged: (bool value) {
                setState(() {
                  _checkboxSelected = !_checkboxSelected;
                });
              },
            ),
    
    

    目前在西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒

    【x1】点击查看提示

    【x2】各种系列的教程

    【x3】Flutter文章积累目录


    展开全文
  • 文章目录开关 Switch复选框 Checkbox伪代码实现 开关 Switch 通过 Switch组件可以实现如下图中开关的打卡和关闭。当Switch被点击时,会触发onChanged回调。 复选框 Checkbox 当Checkbox被点击时,会触发的...

    开关 Switch

    通过 Switch组件可以实现如下图中开关的打卡和关闭。当Switch被点击时,会触发onChanged回调。
    在这里插入图片描述 在这里插入图片描述

    复选框 Checkbox

    Checkbox被点击时,会触发的onChanged回调
    在这里插入图片描述 在这里插入图片描述

    Switch、Checkbox 例子伪代码实现

    class _MyHomePageState extends State<MyHomePage> {
      bool _switchSelected = true; //维护单选开关状态
      bool _checkboxSelected = true; //维护复选框状态
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text(widget.title),
          ),
          body: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Switch(
                      value: _switchSelected, //当前状态
                      onChanged: (value) {
                        //重新构建页面
                        setState(() {
                          _switchSelected = value;
                        });
                      },
                    )
                  ],
                ),
                Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Text(
                      _switchSelected ? "打开" : "关闭",
                      style: TextStyle(fontSize: 14.0, color: Colors.grey),
                    )
                  ],
                ),
                Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Checkbox(
                      value: _checkboxSelected,
                      activeColor: Colors.red, //选中时的颜色
                      onChanged: (value) {
                        setState(() {
                          _checkboxSelected = value;
                        });
                      },
                    )
                  ],
                ),
                Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Text(
                      _checkboxSelected ? "勾选" : "未勾选",
                      style: TextStyle(fontSize: 14.0, color: Colors.grey),
                    )
                  ],
                ),
              ],
            ),
          ),
        );
      }
    }
    

    进度条 Indicator

    水平进度条LinearProgressIndicator和圆形进度条CircularProgressIndicator,刷新进度条RefreshIndicator

    水平进度条 LinearProgressIndicator

    查看源码可发现LinearProgressIndicator有以下属性:

      const LinearProgressIndicator({
        Key key,
        // 表示当前的进度,取值范围为[0,1],如 value:null 则表示是加载中的进度条
        double value,
        // 进度条的背景色
        Color backgroundColor,
        // 进度条的颜色
        Animation<Color> valueColor,
        // 后两个字段,暂时还未理解,字面意思是语意相关
        String semanticsLabel,
        String semanticsValue,
      }) 
    

    加载中进度条
    在这里插入图片描述

    LinearProgressIndicator(
      backgroundColor: Colors.grey[200],
      valueColor: AlwaysStoppedAnimation(Colors.blue),
    ),
    

    进度条显示50%
    在这里插入图片描述

    LinearProgressIndicator(
      backgroundColor: Colors.grey[200],
      valueColor: AlwaysStoppedAnimation(Colors.blue),
      value: .5, 
    )
    

    圆形进度条 CircularProgressIndicator

    查看源码可发现CircularProgressIndicator有以下属性:其他属性和LinearProgressIndicator相同,默认设置了this.strokeWidth = 4.0,表示进度条的粗细。

      const CircularProgressIndicator({
        Key key,
        double value,
        Color backgroundColor,
        Animation<Color> valueColor,
        this.strokeWidth = 4.0,
        String semanticsLabel,
        String semanticsValue,
      }) 
    

    加载中圆形进度条
    在这里插入图片描述

    CircularProgressIndicator(
      backgroundColor: Colors.grey[200],
      valueColor: AlwaysStoppedAnimation(Colors.blue),
    ),
    
    

    进度条显示50%,会显示一个半圆
    在这里插入图片描述

    CircularProgressIndicator(
      backgroundColor: Colors.grey[200],
      valueColor: AlwaysStoppedAnimation(Colors.blue),
      value: .5,
    ),
    

    刷新进度条 RefreshIndicator

    查阅资料了解到RefreshIndicator有如下属性:

      const RefreshIndicator({
        Key key,
        @required this.child,// 布局
        this.displacement = 40.0,// 指示器显示时距顶部位置
        @required this.onRefresh,// 下拉刷新回调
        this.color,// 指示器颜色
        this.backgroundColor,// 指示器背景颜色
        this.notificationPredicate = defaultScrollNotificationPredicate,
        // 语意化字段
        this.semanticsLabel,
        this.semanticsValue,
      })
    

    下拉刷新例子
    在这里插入图片描述
    伪代码如下:

    class _MyHomePageState extends State<MyHomePage> {
      
      var listData = List<String>.generate(30, (i) => "$i");
    
      Future<Null> _pullToRefresh() async {
        print("下拉刷新");
        return null;
      }
      
      Widget _buildListView(BuildContext context){
        return ListView.builder(
          itemCount: listData.length,
          itemBuilder: (context, i) {
            return Container(
              height: 45.0,
              child: Text(
                "$i",
                style: TextStyle(fontSize: 18.0),
              ),
            );
          },
        );
      }
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text(widget.title),
          ),
          body: RefreshIndicator(child: _buildListView(context), onRefresh: _pullToRefresh)
        );
      }
    }
    
    

    完~

    展开全文
  • 视频中我为大家详解了Cupertino风格的单选框的实现,这次我们就说说Cupertino风格的复选框。我们先来看看效果: 如上两图所示,第一张图是未选中的状态,第二张图是勾选后的状态,在点击时有点击效果。为了方便...
  • 视频中我为大家详解了Cupertino风格的单选框的实现,这次我们就说说Cupertino风格的复选框。我们先来看看效果: 如上两图所示,第一张图是未选中的状态,第二张图是勾选后的状态,在点击时有点击效果。为了方便...
  • Material 组件库提供了 Material 风格的单选开关 Switch 和复选框 Checkbox,虽然它们都是继承自 StatefulWidget ,但是他们本身不会保存选中的状态,而是将这个状态交给父 Widget 来维护。 当 Switch 或 Checkbox ...
  • import 'package:flutter/material.dart'; void main() => runApp(SnackBarDemo()); class SnackBarDemo extends StatelessWidget { @override Widget build(BuildContext context) { r...
  • 下面再去创建一个复选框的演示文件 … 在 lib … demo 的下面,新建一个文件,名字是 checkbox_demo.dart … 在文件里面,先导入 flutter 里面的 material … 复选框 CheckBox:复选框 结构解析 示例代码如下: ...
  • 1.Checkbox const Checkbox({ Key key, @required this.value, //是否选中此复选框 this.tristate = false, //默认false,如果为true,复选框... @required this.onChanged, //监听 当复选框的值应该更改时调...
  • Flutter 状态管理 实践记录 1. 背景 Flutter里面最重要的应该就是:状态管理 刚开始做的一个问题,StatefulWidget的状态应该被谁管理?Widget本身?...如果状态是用户数据,如复选框的选中状态、滑块的位置,
  • 实验一些常用的 Button 功能 (代码Github地址)Button 实验实验了 Button 常用的一些功能RaisedButtonFlatButton悬浮按钮 (FloatingActionButton)宽的悬浮按钮 (FloatingActionButton.extended)滚动条(Slider)复选框...
  • Flutter组件之表单

    2019-06-22 12:49:01
    表单元素允许用户输入内容,比如:文本域、下拉列表、单选框、复选框等。常见的应用场景有:登录、注册、输入信息等。表单里有连个重要的组件,一个是Form组件,用来做整个表单提交使用;另一个是TextFormField组件...
  • flutter之表单组件

    2019-03-04 15:05:39
    表单元素允许用户输入内容,比如:文本域、下拉列表、单选框、复选框等。常见的应用场景有:登录、注册、输入信息等。表单里有两个重要的组件,一个是Form组件用来做整个表单提交使用的,另一个是TextFormFiled组件...
  • 表单是包含表单元素的区域,表单元素允许用户输入内容,如文本域、下拉列表、单选框、复选框等,常见的场景就是登录、注册、输入信息等.表单离有两个最重要的组件,一个是Form组件,用于提交整个表单,另一个是...
  • 学习内容以下是关于基础Widgets和布局类Widgets的部分汇总基础类包括:按钮图片及ICON组件单选开关和复选框输入框及表单表单验证布局类Widget包括:纵向布局Row弹性布局Flex流式布局Wrap层叠布局Stack路由:routes: ...
  • 为你的 Flutter APP 添加交互性

    千次阅读 2018-08-27 10:19:14
    Stateful &amp; stateless 在 Flutter 中, Widget 分为两...例如 Checkbox 复选框是 StatefulWidget (具有可变状态的小部件),而 Text 部件就是 StatelessWidget(不需要可变状态的小部件)。 我们自定义 Sta...
  • 响应式开发框架中都会有一个永恒的主题 —— 状态管理。在 React 或 Vue 中,都有对应的...如果状态是用户数据,如复选框选中的状态、滑块的位置,则该状态最好由父 Widget 来管理。 如果状态是关于 UI 界面的渲染,...
  • 单选,复选框 Material widgets库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击...
  • 主要做全选和复选框的这两个功能 provide/cart.dart 业务逻辑写到provide里面 先持久化取出来字符串,把字符串编程list。循环list cart_page/cart_item.dart 每一项的复选框的事件 单个复选框的效果预览...
  • Flutter移动应用:MDC

    2020-03-03 00:10:47
    这个课程我们继续介绍一些重要的 Material 风格的小部件 … Chip 是小碎片,我们会学习创建各种不同类型的 Chip … 比如带删除功能的 Chip … 像按钮的 Chip … 像复选框一样的 Chip … 还有像单选按钮一样的 Chip ...
  • 这次分享Flutter常用控件。Flutter界面的交互控件继承Widget(中文...实际业务项目中常用控件有Text,Button控件,Image控件,单选框(switch),复选框(checkbox),文本输入框(TextField),Form。1 Text常用于字符展示...

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

flutter复选框