对于 Flutter 中的风味,您需要创建 AppConfig.dart,您可以在其中添加以下内容:
class AppConfig extends InheritedWidget {
AppConfig(
{this.appDisplayName,
this.appInternalId,
this.stringResource,
this.colorResource,
Widget child})
: super(child: child);
final String appDisplayName;
final String appInternalId;
final StringResource stringResource;
final ColorResource colorResource;
static AppConfig of(BuildContext context) {
return context.dependOnInheritedWidgetOfExactType<AppConfig>();
}
@override
bool updateShouldNotify(InheritedWidget oldWidget) => false;
}
abstract class StringResource {
String APP_DESCRIPTION;
}
abstract class ColorResource {
var basicColor;
}
您可以添加风味 dart 文件,例如:
main_A.dart
void main() {
var configuredApp = AppConfig(
appDisplayName: "App A",
appInternalId: "A/",//this is for assets folder
stringResource: StringResourceApp1(),
colorResource: ColorA(),
child: MyApp(),
);
mainCommon();
runApp(configuredApp);
}
main_B.dart
void main() {
var configuredApp = AppConfig(
appDisplayName: "App B",
appInternalId: "B/",//this is for assets folder
stringResource: StringResourceApp2(),
colorResource: ColorB(),
child: MyApp(),
);
mainCommon();
runApp(configuredApp);
}
更改您的主 dart 文件将其重命名为 main_common.dart 并在需要时添加此方法。
void mainCommon() {
// Here would be background init code, if any
}
现在在编辑配置中并编辑如下风格
Add path to your flavor main_flavor.dart file and add build flavor name as same used in gradle
其他口味也一样!