首页 > 解决方案 > Flutter:如何删除复选框(多个 CheckboxListTile)的额外填充?

问题描述

我正在尝试创建一个这样的复选框列表: 我的计划

我使用CheckBoxListTiledense删除contentPadding了所有可能的填充,这就是我所拥有的: 我的结果

有什么办法可以去掉 之间多余的“填充” CheckBoxListTile

这是我的代码(单个复选框):

class Checklist extends StatefulWidget {
  Checklist({@required this.content});
  final String content;

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

class _ChecklistState extends State<Checklist> {
  bool _checked = false;
  @override
  Widget build(BuildContext context) {
    return CheckboxListTile(
      contentPadding: EdgeInsets.all(0),
      //dense: true,
      title: Text(widget.content, style: TextStyle(color: kBlackColor),),
      value: _checked,
      onChanged: (bool value) {
        setState(() {
          _checked = value;
        });
      },
      controlAffinity: ListTileControlAffinity.leading,
      activeColor: kBlackColor,
    );
  }
}

多个复选框:

Column(
   children: [
      Checklist(content: 'Develop an app'),
      Checklist(content: 'Develop a good app'),
      Checklist(content: 'Develop a really good app'),
   ],
),

标签: fluttercheckboxlist

解决方案


将 CheckBox 包裹在 SizedBox 中将调整复选框的填充大小

SizedBox(
    height: whatYouWant,
    width: whatYouWant,
    child: Checkbox(...),
 )

请检查此解决方案:https ://stackoverflow.com/a/59420505/11989529


推荐阅读