在安卓上根据设备语言方向(LTR、RTL)进行文本调整



我的一些按钮正在使用font-awesome。其中之一是"后退"按钮。在 LTR 语言上,我希望按钮是指向左侧的箭头,而在 RTL 上,按钮是指向右侧的箭头。

现在我正在做的是这样的:我的"值"文件夹中有两个字符串

<string name="icon_back_ltr">&#xf060;</string>
<string name="icon_back_rtl">&#xf061;</string>
<color  name="icon_back_color">#FFFFFF</color>

然后,我以编程方式检查设备语言是否为 RTL 语言。如果是这样,我会相应地修改按钮上的文本。

我的问题是,有没有更好的方法?不需要以编程方式检查布局方向?例如,我知道我可以将单词"Hello"定义为英语(使用"values"),然后定义为希伯来语中的其他内容(使用"values-iw")。问题是,我可以在所有 LTR 语言中将某个字符串定义为文本 A,然后在所有 RTL 语言中定义为文本 B 吗?

定义两个资源values-ldrtl(表示"布局方向-从右到左")values-ldltr(表示"布局方向-从左到右")。在应用清单中声明应用支持 RTL 镜像。具体而言,将android:supportsRtl="true"添加到清单文件中的 <application> 元素,并将targetSdkVersion设置为 17 或更高版本。

相关内容

  • 没有找到相关文章

最新更新