Flutter中CupertinoSliverNavigationBar如何设置动态翻译文本?
问题根源在于你给CupertinoSliverNavigationBar加了const关键字。const修饰的组件要求所有子属性必须是编译时常量,但Text("captureSelectionView.viewTitle").tr()是运行时动态获取翻译文本的,属于非常量值,因此触发「Invalid constant value.」报错。
解决方法
直接移除CupertinoSliverNavigationBar前的const关键字即可,修改后的代码如下:
child: CustomScrollView( slivers: [ CupertinoSliverNavigationBar( largeTitle: Text(tr("captureSelectionView.viewTitle")), ), SliverToBoxAdapter( ...
你也可以把tr()直接作为参数传给Text,写法更简洁,效果完全一致。
移除const后,CupertinoSliverNavigationBar可以正常渲染动态翻译的文本,easy_localization的多语言切换功能也能正常工作。
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

