Flutter是否支持平台特定的文件? 我们是否可以创建特定于平台的文件–将 myButton.dart 称为 myButton.iOS.dart 和 myButton.android.dart ,以便当myButton文件导入,它将根据平台选择适当的文件并执行。
答案 0 :(得分:0)
没有像您描述的那样内置的解决方案,但是您可以编写一个瘦包装器窗口小部件,该控件根据平台选择正确的窗口小部件:
import 'dart:io' show Platform;
import 'package:flutter/widgets.dart';
class MyButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
if (Platform.isIOS) {
return MyIOSButton();
} else if (Platform.isAndroid) {
return MyAndroidButton();
} else
return GenericButton();
}
}
}
或者,如果您想要一些预制的小部件,则可以查看flutter_platform_widgets软件包。
已经提供了通用小部件以制作平台感知的小部件:
return PlatformWidget(
ios: (_) => Icon(CupertinoIcons.flag),
android: (_) => Icon(Icons.flag),
);