开篇寄语
要想侦测开发的App是在哪个系统平台开发的,使用flutter是非常简单就可以实现的,根据其给的两个官方支撑库,一个是'dart:io',一个是'flutter/foundation.dart',稍加灵活的引用就可以了,本篇文章以一个简单的实例就可以学会了,请看本篇文章。
前情提要
- 《Flutter不用插件实现手风琴Accordions效果》
- 《Flutter实现图片轮播carousel slider实例竟然是如此简单》
- 《Flutter制作弹出框背景是磨砂特效Blur Effects的例子》
内容详情
以下内容大多是更改lib下的main.dart文件内容,删掉里面的内容,复制粘贴代码,开启调试就可以出现了。
import 'dart:io' show Platform; import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart' show kIsWeb; void main() { runApp(MyApp()); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { String str = 'Click!'; @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('Detecting System'), ), body: Center( child: Column(children: <Widget>[ Container( width: 200.0, height: 50.0, margin: EdgeInsets.all(25), child: ElevatedButton( style: ButtonStyle( backgroundColor: MaterialStateProperty.all(Colors.red)), child: Text( str, style: TextStyle(fontSize: 20.0, color: Colors.yellow.shade200), ), onPressed: () { setState(() { if (kIsWeb) { str = 'Web-specific code'; // running on the web! } else { if (Platform.isAndroid) { str = 'Android-specific code'; } else if (Platform.isIOS) { str = 'IOS-specific code'; // iOS-specific code } else if (Platform.isFuchsia) { str = 'Fuchsia-specific code'; } else if (Platform.isLinux) { str = 'Linux-specific code'; } else if (Platform.isMacOS) { str = 'MacOS-specific code'; } else if (Platform.isWindows) { str = 'Windows-specific code'; } else { str = 'Unkown-specific code'; } } }); }, ), ), ]))), ); } }
运行效果如下图所示:
怎么样,是不是很简单呢?
- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号