布局方向更改RTL-LTR



似乎所有GUI元素的布局方向现在都由系统语言控制。如果是从右到左,则所有菜单、对话框、消息框等都会从右向左显示。这太可怕了。

该应用程序内置了本地化功能("选择您的国家/地区")如何使应用程序本地化管理应用程序的GUI,而不是设备系统语言?

前方有一段漫长的旅程。。您需要在"Application"类中检测设备设置,然后在代码中强制执行特定的区域设置和布局方向。。然后,您需要为每个活动处理onConfigurationChanged,以处理"layoutdirection|locale"配置更改事件,并通过重新加载活动来自行处理这些事件,以便它们选择新的运行时更改,以便在不关闭并重新打开应用程序的情况下从布局文件夹中实时获取正确的资源。老实说,这是一次bug之旅,尤其是重新加载活动部分,它会产生一些奇怪的行为和bug。。但它最终是可行的。。

查看更多信息:

https://github.com/aleung/RunningCadence/blob/master/RunningCadence/src/leoliang/runningcadence/Application.java

https://github.com/aleung/RunningCadence/blob/master/RunningCadence/src/leoliang/runningcadence/PreferenceActivity.java

最新更新