我的一些按钮正在使用font-awesome。其中之一是"后退"按钮。在 LTR 语言上,我希望按钮是指向左侧的箭头,而在 RTL 上,按钮是指向右侧的箭头。
现在我正在做的是这样的:我的"值"文件夹中有两个字符串
<string name="icon_back_ltr"></string>
<string name="icon_back_rtl"></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 或更高版本。