如何删除RadioListTile上的内部填充,以便连续使用3个RadioListTiles?

问题描述 投票:4回答:1

我对Flutter和Dart很新,我似乎无法找到任何有关此特定主题的提示。我试图将3个RadioListTiles放入Row中,如下所示:

Row(
        children: [
          Expanded(
            child:RadioListTile<GoalSelection>(
              title: Text(
                'Net',
                style: Theme.of(context).textTheme.body1,
              ),
              value: GoalSelection.net,
              groupValue: _goalSelection,
              onChanged: (GoalSelection value) {
                setState(() {
                  _goalSelection = value;
                });
              },
            ),
          ),
          Expanded(
            child: RadioListTile<GoalSelection>(
              title: Text(
                'Gross',
                style: Theme.of(context).textTheme.body1,
              ),
              value: GoalSelection.gross,
              groupValue: _goalSelection,
              onChanged: (GoalSelection value) {
                setState(() {
                  _goalSelection = value;
                });
              },
            ),
          ),
          Expanded(
            child: RadioListTile<GoalSelection>(
              title: Text(
                'Salary',
                style: Theme.of(context).textTheme.body1,
              ),
              value: GoalSelection.salary,
              groupValue: _goalSelection,
              onChanged: (GoalSelection value) {
                setState(() {
                  _goalSelection = value;
                });
              },
            ),
          ),
        ],
      ),

按钮布局很好,但标签似乎浪费了很多空间。我放下了目前下面的截图。我尝试在Expanded小部件(一次一个)中包装RadioListTileTextPadding,手动将填充设置为0,但它没有做任何事情。我也尝试将Expanded改为Flexible,尽管我认为这不会改变任何事情。我现在不知所措。有没有办法让这个布局工作?我有点假设我正在做的事情真的很蠢。

Layout inspector showing padding

dart flutter flutter-layout
1个回答
2
投票

RadioListTile用于在垂直滚动列表中获取整个宽度。

如果您不想要此行为,请不要使用它。请改用Radio

© www.soinside.com 2019 - 2024. All rights reserved.