颤动| 从 Switch 小部件中删除多余的空间

Pet*_*son 15 material-design flutter

我正在 flutter 应用程序中的下面的屏幕上工作,但是当我使用 Switch 小部件时,它会破坏对齐,因为 flutter 中已经定义了硬编码的高度和宽度。

在此输入图像描述 在此输入图像描述

我怎样才能摆脱多余的空间

注意:使用单选按钮或复选框也存在同样的问题

vis*_*eji 10

SizedBox(
  width: 50,
  height: 20,
  child: Switch(
  materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
  value: value,
  onChanged: (bool newvalue) {
    onChangeMethod(newvalue);
  },
  activeTrackColor: Colors.grey,
  activeColor: Colors.black,
  ),
);
Run Code Online (Sandbox Code Playgroud)

您可以参考https://flutterwebbies.com/flutter/how-to-remove-extra-space-from-switch-widget/


Yog*_*wla 6

在此输入图像描述

您可以尝试将 Switch 小部件包装在容器中

Container(
  height: 20,
  width: 50,
  child: Switch(
   value: _value,
   onChanged: (value){
    setState((){
      _value = value
    });
   }
  )
);
Run Code Online (Sandbox Code Playgroud)


小智 5

要从小部件中删除填充,Switch您需要将materialTapTargetSize设为shrinkWrap

Switch(
  materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
  onChanged: (bool value) {},
)
Run Code Online (Sandbox Code Playgroud)