如何解决切换区域设置时如何使用cupertino页面路由而不是刷新应用程序UI?
我使用这种方法在我的 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 举报,一经查实,本站将立刻删除。