布局方向更改RTL LTR

5

看起来所有GUI元素的布局方向现在都由系统语言控制。当它是从右到左的语言时,所有菜单、对话框、消息框等都会从右到左出现。这太糟糕了。

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

1个回答

1
您面前有一段漫长的旅程..您需要在“应用程序”类中检测设备设置,然后在代码中强制执行特定的语言环境和布局方向..然后,您需要处理每个活动的onConfigurationChanged事件,以处理'layoutdirection|locale'配置更改事件,并通过重新加载活动自己来处理这些事件,以便它们能够从布局文件夹中动态获取正确的资源,而无需关闭并重新打开应用程序。说实话,这是一个有缺陷的过程,特别是重新加载活动部分会产生一些奇怪的行为和错误..但最终是可行的..

请查看以下链接以获取更多信息:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接