Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在flatter中管理switch小部件的本机外观_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 如何在flatter中管理switch小部件的本机外观

Flutter 如何在flatter中管理switch小部件的本机外观,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我想用不同操作系统的本机外观在Flutter/Dart中创建开关/切换小部件。我的意思是,如果我在iOS mobile上运行,它应该是: 如果我在Android mobile上运行,它应该是: 帮助我在颤振/飞镖中实现这类功能 如果目标平台为iOS,则创建CupertinoSwitch,否则创建材质设计开关 示例代码: bool _value = true; @override Widget build(BuildContext context) { return Scaffold(

我想用不同操作系统的本机外观在Flutter/Dart中创建开关/切换小部件。

我的意思是,如果我在iOS mobile上运行,它应该是:

如果我在Android mobile上运行,它应该是:

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

如果目标平台为iOS,则创建CupertinoSwitch,否则创建材质设计开关


示例代码:

bool _value = true;

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

您可以检查用户所在的平台,然后显示相应的平台特定小部件
Switch
是用于切换的Android小部件,
CupertinoSwitch
是与iOS等效的小部件。这两个小部件的参数是相同的,因此CopsOnRoad的解决方案更加简洁,但这是获取特定于平台的小部件的另一种方法

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'dart:io';

Platform.isAndroid ? Switch() : CupertinoSwitch()

您可以在此处观看本教程:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'dart:io';

Platform.isAndroid ? Switch() : CupertinoSwitch()