import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// 使用条件化的方式来判断当前的环境,并决定使用MaterialApp还是CupertinoApp
Widget build(BuildContext context) {
return DefaultTextStyle(
style: Theme.of(context).textTheme.headline6!,
child: GestureDetector(
onTap: () {
if (kIsWeb) {
print('Web 环境下点击事件处理');
}
},
child: Container(
alignment: Alignment.center,
color: Colors.blue,
width: 200,
height: 200,
child: Text('点击我'),
),
),
);
}
}
这段代码演示了如何在Flutter中使用kIsWeb
来区分Web环境和非Web环境。在非Web环境下,它将创建一个Material设计风格的应用,而在Web环境下,它将打印一条消息。这是一个简单的例子,展示了如何利用Flutter的条件化构建特性来提高代码的可移植性。