在应用程序中,设置页面上有一个选项,可让用户选择自己喜欢的语言(英语/阿拉伯语) 选择一个后,我想更改区域性和FlowDirection。 我通过设置资源文件的区域性属性来更改区域性。但 这在运行时是否可行:当用户更改语言时,应用程序本地化和FlowDirection会立即发生相应变化?
在docs中有一个提示:
您应仅在初始布局上设置FlowDirection属性。 在运行时更改此值会导致昂贵的布局过程, 将影响性能。
因此,有没有一种安全的方法来完成此操作。.我在许多个人使用的应用程序中看到了此选项!
答案 0 :(得分:0)
有没有安全的方法来实现这一目标?
如文档所述,在运行时更改此值会导致昂贵的布局过程,从而影响性能。
但是,您可以使用DependencyService在本机平台中实现它。
在iOS
解决方案:在Forms中创建新控件或页面时,请在iOS中创建CustomRenderer
。并添加通知,通知控件更改UI。更改值时,发送通知,所有页面和控件将刷新UI。这就是大多数应用程序在本机iOS中实现的方式。由于iOS系统的优化,它不会导致昂贵的布局过程。但是您必须做更多的事情。
在Android
解决方案:在Android中执行相同的操作会影响性能。因此,您可以在更改值后重新启动MainActivity
。