如何让Android仅在旧设备上使用合格的资源文件?

如何让Android仅在旧设备上使用合格的资源文件?,android,right-to-left,Android,Right To Left,我为阿拉伯语用户提供了一个单独的布局文件,我只想用于不支持Android原生RTL镜像(在API级别17中引入)的设备。如果他们正在使用API 17或更高版本的设备,我希望使用默认的XML文件 我将如何做到这一点?我知道: 如果我将我的home.xml放入res/layout/中,那么它将用作默认布局文件 如果我将另一个home.xml放在res/layout ar/中,那么它将用于阿拉伯语使用者 如果我将另一个home.xml放在res/layout-ar-v17/中,那么它将用于v17或更高

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

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

如果我将我的
home.xml
放入
res/layout/
中,那么它将用作默认布局文件

如果我将另一个
home.xml
放在
res/layout ar/
中,那么它将用于阿拉伯语使用者

如果我将另一个
home.xml
放在
res/layout-ar-v17/
中,那么它将用于v17或更高版本的阿拉伯语使用者*


*问题是,我不想要另一个home.xml,我只希望系统使用默认设置并镜像它。

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

您可以使用。您将得到两个布局文件,我们将它们称为home_one.xml和home_two.xml。然后在
res/values/layout.xml
res/values-ar-v17/layout.xml

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