问题描述
我使用这种方法在我的 Flutter dart 应用程序中实现了一个 setlocale 函数: https://stackoverflow.com/a/59263272/10922841 并且工作正常。
当我用 Tab 键切换区域设置时,应用程序 UI 会刷新。我试图让它看起来更好,想知道是否有可能让它看起来像库比蒂诺页面路由而不是刷新。
以下是我目前拥有的一些相关代码:
语言视图:
class LanguageView extends StatelessWidget {@override Widget build(BuildContext context) {
const localeList = [
Locale.fromSubtags(languageCode: "zh"),Locale.fromSubtags(languageCode: "zh",countryCode: "HK"),Locale.fromSubtags(languageCode: "en")
];
return Scaffold(
appBar: AppBar(
title: Text("Lang"),centerTitle: true,),body: ListView(
children: localeList
.map((locale) => ListTile(
title: Text(locale.languageCode),onTap: () {
print(locale);
Navigator.of(context).pop(locale);
},))
.toList()),);}}
主页视图的一部分
Widget build(BuildContext context) {
...
return MaterialApp(
...
ListView(
shrinkWrap: true,children:[
...
ListTile(
title: Text(R.of(context).language),onTap: () {
Navigator.push(
context,CupertinopageRoute(
builder: (context) =>
LanguageView())).then(
(locale) => MyHomePage.setLocale(
context,locale));
},)]))}
它不执行库比蒂诺页面路由。任何人都可以告诉为什么以及如何做到这一点?非常感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)