首页 > 解决方案 > 如何减少 checkboxListTile 之间的空格

问题描述

我有一个字符串数组,我映射到使用 CheckboxListTile 小部件作为不同复选框的标签,但我需要减少这些复选框之间的空间。

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

class _CheckBoxInListviewState extends State<CheckBoxInListview> {
  // bool _isChecked = false;

 Map<String,bool> _texts = {
    "InduceSmile.com": false,
    "google.com": false,
    "youtube.com": false,
    "yahoo.com": false,
 };
  @override
  Widget build(BuildContext context) {
return  Column(
          
          children: _texts.keys.map((text) => Theme(
            data: ThemeData(

                    checkboxTheme: CheckboxThemeData(
                      visualDensity: VisualDensity.compact,
                        shape: RoundedRectangleBorder(
                            borderRadius: BorderRadius.only(topLeft: Radius.circular(4),topRight: Radius.circular(4),bottomLeft: Radius.circular(4),bottomRight: Radius.circular(4))))),
            child: CheckboxListTile(
              controlAffinity: ListTileControlAffinity.leading,
              title: Transform.translate(offset: Offset(-15,0),
              child: Text(text,style: TextStyle(fontSize: 13),),
              ),
               value: _texts[text],
                  onChanged: (val) {
                  setState(() {
                   _texts[text] = val;
            
                });
              },
            ),
          )).toList(),
  );
  }
}

这是我的代码的结果 这里是图片(上面代码的结果)

标签: javaandroidflutterdartandroid-layout

解决方案


正如@pskink 的评论中提到的那样,CheckboxListTile它就像固定高度组件,只能contentPadding调整内容周围的空间,不能控制其他空间。

但是,您可以增加 Text 小部件的字体大小以提供更好的 UI - 下面是字体大小为 28 的屏幕截图。

在此处输入图像描述


推荐阅读