首页 > 解决方案 > 如何在颤动中管理开关小部件的原生外观

问题描述

我想在Flutter/Dart中创建具有不同操作系统的原生外观的切换/切换小部件。

我的意思是,如果我在 iOS 移动设备上运行,它应该是这样的:

在此处输入图像描述

如果我在 Android 手机上运行,​​它应该是这样的:

在此处输入图像描述

帮助我在颤振/飞镖中实现这种类型的功能

标签: flutterdartflutter-layout

解决方案


使用Switch.adaptive

如果目标平台是 iOS,则创建 CupertinoSwitch,否则创建材料设计开关。

Switch.adaptive(value: true, onChanged: (newValue) {})

示例代码:

bool _value = true;

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(),
    body: Switch.adaptive(
      value: _value,
      onChanged: (newValue) => setState(() => _value = newValue),
    ),
  );
}

推荐阅读