【发布时间】:2016-05-03 23:25:09
【问题描述】:
我正在开发一个相对简单的 Android 应用程序。我希望它有英文版和希伯来文版。
我有一个活动全部用英语布置,我想创建希伯来语资源。我找不到任何简单的方法来做到这一点。我发现的唯一方法是获取我的 layout/activity.xml 文件,将其放入 layout-iw/activity.xml 并手动更改所有内容,使其从右到左显示。
我需要颠倒任何水平方向容器中所有元素的顺序(<TableRow>s 中的所有列,水平<LinearLayout>s 中的所有元素等...)。我需要用 layout_marginRights 切换所有 layout_marginLefts,当然 - 使所有左对齐控件右对齐。
这很乏味,尤其是当我考虑在某个时候修改活动时 - 我需要修改资源两次,仅此一项就让我头疼。
必须有一个更简单的方法。
【问题讨论】:
-
如果所有其他方法都失败了,我的下一个问题将是关于挂钩的适当位置,该机制将自动执行此操作。我想我会称之为 RtlAwareActivity 什么的。我真的不想写这个。
-
我不怀疑会有一个打包的解决方案来解决这个问题,因为这种变化可能会产生很多布局问题,一般来说就是这样。因此,为此提供多合一的解决方案并不安全。我相信 TextViews 会自动从右到左呈现,但仅此而已。 FWIW,我认为您最好使用预编译钩子生成布局 xml,而不是编写一个活动来动态完成。这样就没有运行时开销。
-
我是微软的专业人士,但无论如何他们在 WPF 上做得非常好!!!。
标签: android right-to-left