Flutter:增加SwitchListTile图标的大小

时间:2019-08-15 19:14:43

标签: flutter

我在我的应用程序中使用SwitchListTile,它运行良好。但是,我需要为其设置样式。.我想使开关图标更大。.

这怎么办?

enter image description here

SwitchListTile(
  dense: true,
  onChanged: (value) {
    setState(() {
       agreeSmsAlerts = value;
    });
 },
 value: agreeSmsAlerts,
 title: Text(
   "sign up for job alerts",
    style: TextStyle(fontSize: 16.0),
 ),
),

1 个答案:

答案 0 :(得分:0)

如果只想增加开关图标的大小,可以用SwitchListTile来包裹Transform.scale,但是比例会应用于整个窗口小部件,即文本也是如此。弄乱了整个SwitchListTile小部件的大小,如下所示:

enter image description here

为避免这种情况,您可以使用Switch小部件而不是SwitchListTile并将其包装在Row小部件中,并向mainAxisAlignment提供MainAxisAlignment.spaceBetween,以正确对齐文字和增加的图标大小。方法如下:

Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children:
                <Widget>[
                  Text('Sign up for job alerts'),
                  Transform.scale(
                    scale: 1.8,
                    child: Switch(
                      onChanged: (value) {
                        setState(() {
                          agreeSmsAlerts = value;
                        });
                      },
                      value: agreeSmsAlerts,
                    ),
                  ),

                ],
              ), 

输出为:

enter image description here

您可以根据需要提供scale值,具体取决于您想要多大。 希望这能回答您的问题。