Flutter:将 AppLocalizations.of(context)!.actionaid 传递到 webview 的 initalUrl
Flutter: Passing AppLocalizations.of(context)!.actionaid into initalUrl of a webview
我目前正在本地化我的应用程序,我已经翻译了所有要打开的网页并将 url 添加到我的 arb 文件中。
但是当我在 initialUrl
上调用 AppLocalizations.of(context)!.actionaid
时,我得到一条红色下划线,上面写着 Invalid constant value
我有什么方法可以使它工作吗?
谢谢大家
我有这样的东西:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class actionAid extends StatelessWidget {
const actionAid({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(middle: Text("Action Aid")),
child: SafeArea(
child: WebView(
initialUrl: AppLocalizations.of(context)!.actionaid,
javascriptMode: JavascriptMode.unrestricted,
),
//bottomNavigationBar: CustomBottomNavBar(selectedMenu: MenuState.give),
),
);
}}
问题是您通过编写 const CupertinoPageScaffold
.
将 Widget 树定义为仅包含常量值
由于 AppLocalization.of(context).actionaid
未提供常量值,因此违反了此“规则”并触发了错误。
将 const CupertinoPageScaffold
更改为仅 CupertinoPageScaffold
或将 WebView
小部件提取到具有 const 构造函数的单独小部件中应该可以解决问题。
我目前正在本地化我的应用程序,我已经翻译了所有要打开的网页并将 url 添加到我的 arb 文件中。
但是当我在 initialUrl
上调用 AppLocalizations.of(context)!.actionaid
时,我得到一条红色下划线,上面写着 Invalid constant value
我有什么方法可以使它工作吗?
谢谢大家
我有这样的东西:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class actionAid extends StatelessWidget {
const actionAid({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(middle: Text("Action Aid")),
child: SafeArea(
child: WebView(
initialUrl: AppLocalizations.of(context)!.actionaid,
javascriptMode: JavascriptMode.unrestricted,
),
//bottomNavigationBar: CustomBottomNavBar(selectedMenu: MenuState.give),
),
);
}}
问题是您通过编写 const CupertinoPageScaffold
.
由于 AppLocalization.of(context).actionaid
未提供常量值,因此违反了此“规则”并触发了错误。
将 const CupertinoPageScaffold
更改为仅 CupertinoPageScaffold
或将 WebView
小部件提取到具有 const 构造函数的单独小部件中应该可以解决问题。