android 确定设备是否采用从右到左的语言/布局

2024-05-17

有没有办法确定设备是否使用从右到左的语言(例如阿拉伯语)而不是从左到右的语言(英语)?

与较旧的 API 级别(低至 10)兼容的东西是必要的

SOLUTION

我最终在接受的答案中使用了 xml 方法。接下来,我还添加了此处指示的代码,以应对我无法访问 getResources() 的情况

识别Android中的RTL语言 https://stackoverflow.com/questions/18996183/identifying-rtl-language-in-android/23203698#23203698

更多信息

这个问题仍然有很多流量;我想指出的其他事情:当我最初问这个问题时,我认为这部分是为了帮助解决在 RTL 与 LTR 中显示不同的指向 V 形的问题——实现这一点的另一种巧妙方法是将可绘制资源放入标准中,ldrtl目录——意味着不需要代码来确定显示哪个目录!


你可以创建一个价值观-ldrtl包含名为 isrighttoleft.xml 的 xml 文件的文件夹:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="is_right_to_left">true</bool>
</resources>

并在你的values文件夹相同的文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="is_right_to_left">false</bool>
</resources>

最后在代码中:

boolean isRightToLeft = getResources().getBoolean(R.bool.is_right_to_left);

value-ldrtl 仅适用于特定设置(例如语言)为从右到左阅读语言的设备。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 确定设备是否采用从右到左的语言/布局 的相关文章

随机推荐