5

我为阿拉伯语用户提供了一个单独的布局文件,我只想将其用于不支持 Android 的本机 RTL 镜像(在 API 级别 17 中引入)的设备。如果他们使用的是 API 17 或更高版本的设备,我希望使用默认的 XML 文件。

我将如何做到这一点?我知道:

如果我把我home.xmlres/layout/然后它用作默认布局文件。

如果我再放一个home.xmlres/layout-ar/那么它将用于讲阿拉伯语的人

如果我再放一个home.xmlres/layout-ar-v17/那么它将用于 v17 或更高版本的阿拉伯语扬声器。*

*问题是,我不想有另一个home.xml,我只想让系统使用默认并镜像它。

4

2 回答 2

6

您可以使用布局别名。您最终会得到两个布局文件,我们称它们为 home_one.xml 和 home_two.xml。然后在res/values/layout.xmlres/values-ar-v17/layout.xml你会有

<item name="home" type="layout">@layout/home_one</item>

res/values-ar/layout.xml需要

<item name="home" type="layout">@layout/home_two</item>
于 2013-05-08T19:14:53.547 回答
1

我建议创建两种可重复使用的布局(如此所述),一种用于默认布局,另一种用于 API 级别 17+ 的阿拉伯语。然后,您可以在适当的特定于配置的文件夹中定义各种home.xml文件,以便它们<include>(或<merge>)适当的布局。这样你只需要复制一个<include>标签而不是整个布局。

于 2013-05-08T19:05:28.573 回答