根据 Android 上的设备语言方向(LTR、RTL)进行文本调整
Text adaptation according to device language direction (LTR, RTL) on Android
我为我的一些按钮使用了很棒的字体。其中之一是 "back" 按钮。在 LTR 语言上,我希望按钮是指向左侧的箭头,而在 RTL 上,按钮是指向右侧的箭头。
现在我正在做的是:
我的 "values" 文件夹中有两个字符串
<string name="icon_back_ltr"></string>
<string name="icon_back_rtl"></string>
<color name="icon_back_color">#FFFFFF</color>
然后,我以编程方式检查设备语言是否为 RTL 语言。如果是这样,我相应地修改按钮上的文本。
我的问题是,有更好的方法吗?一个不需要以编程方式检查布局方向的?例如,我知道我可以将单词 "Hello" 定义为英语(使用 "values"),然后定义为希伯来语中的其他词(使用“values-iw”)。问题是,我可以定义某个字符串是 all LTR 语言中的文本 A,然后是 all RTL 语言中的文本 B?
定义两个资源目录values-ldrtl
(表示"layout-direction-right-to-left")和values-ldltr
(表示"layout-direction-left-to-right" )。
在您的应用清单中声明您的应用支持 RTL 镜像。
具体来说,将 android:supportsRtl="true"
添加到清单文件中的 <application>
元素并将 targetSdkVersion
设置为 17 或更高。
我为我的一些按钮使用了很棒的字体。其中之一是 "back" 按钮。在 LTR 语言上,我希望按钮是指向左侧的箭头,而在 RTL 上,按钮是指向右侧的箭头。
现在我正在做的是: 我的 "values" 文件夹中有两个字符串
<string name="icon_back_ltr"></string>
<string name="icon_back_rtl"></string>
<color name="icon_back_color">#FFFFFF</color>
然后,我以编程方式检查设备语言是否为 RTL 语言。如果是这样,我相应地修改按钮上的文本。
我的问题是,有更好的方法吗?一个不需要以编程方式检查布局方向的?例如,我知道我可以将单词 "Hello" 定义为英语(使用 "values"),然后定义为希伯来语中的其他词(使用“values-iw”)。问题是,我可以定义某个字符串是 all LTR 语言中的文本 A,然后是 all RTL 语言中的文本 B?
定义两个资源目录values-ldrtl
(表示"layout-direction-right-to-left")和values-ldltr
(表示"layout-direction-left-to-right" )。
在您的应用清单中声明您的应用支持 RTL 镜像。
具体来说,将 android:supportsRtl="true"
添加到清单文件中的 <application>
元素并将 targetSdkVersion
设置为 17 或更高。