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

标签 android right-to-left

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

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

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

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

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

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

最佳答案

你可以使用 Layout Aliases .您最终会得到两个布局文件,我们称它们为 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>

关于android - 如何让 Android 仅在旧设备上使用合格的资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16448045/

相关文章:

安卓 : preferencescreen right to left

android - 如果没有可用的翻译,则禁用 RTL

android - 使用日历获取时间直到给定唤醒时间

tinymce - 将默认方向设置为 RTL

javascript - DOMAttrModified 事件监听器未在 Android WebView 中触发

java - 处理日期时出现问题

java - 当 ComponentOrientation 设置为 RTL 时 JLabel 和 JTextField 之间的不一致

css - 左右 CSS 属性的 BIDI 等价物

java - Facebook 认证安卓

android - 在原生 Android 应用程序中使用 WebGL