如何在颤动中管理开关小部件的原生外观
Posted
技术标签:
【中文标题】如何在颤动中管理开关小部件的原生外观【英文标题】:How to manage native looks of switch widget in flutter 【发布时间】:2020-02-07 17:10:44 【问题描述】:我想在 Flutter/Dart 中创建具有不同操作系统的原生外观的切换/切换小部件。我的意思是,如果我在 ios 移动设备上运行,它应该看起来像:
如果我在 android 手机上运行,它应该是这样的:
帮我在flutter/dart中实现这类功能
【问题讨论】:
你可以在这里观看本教程:youtube.com/watch?v=TYNbMnaEnmA 【参考方案1】:使用Switch.adaptive
如果目标平台是 iOS,则创建 CupertinoSwitch,否则创建 Material Design 开关。
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),
),
);
【讨论】:
【参考方案2】:您可以检查用户在哪个平台上,然后显示适当的特定于平台的小部件。 Switch
是用于切换的 Android 小部件,CupertinoSwitch
是 iOS 等价物。两个小部件的参数相同,因此 CopsOnRoad 的解决方案更加简洁,但这是获取特定于平台的小部件的另一种方式。
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'dart:io';
Platform.isAndroid ? Switch() : CupertinoSwitch()
【讨论】:
以上是关于如何在颤动中管理开关小部件的原生外观的主要内容,如果未能解决你的问题,请参考以下文章