每种语言的Android不同字体 [英] Android different font for each language
问题描述
反正每种语言都有不同的字体吗? 有values-en,values-fr ...等等,但是我们可以做些font-fr,font-ar ... etc这样的事情吗?
Is there anyway to make different font for each language? There is the values-en, values-fr ...etc, but can we do something like font-fr, font-ar ...etc?
PS,我在说的是res/font,而不是资产/字体,我希望能够以XML设置一种字体,然后获得每种语言的更改,而无需以编程方式设置Typeface.
PS, i'm talking about res/font, not about assets/fonts, i would like to be able to set one font in XML, and then get the changes with each language, without setting the Typeface programmatically.
推荐答案
尝试一下:
- 将所有字体文件添加到
res/font
- 本地化
style.xml
(创建values/style.xml
&&values-ln/style.xml
)
每个 - 在
AppTheme
中<item name="android:fontFamily">@font/your_desired_font</item>
- 仅此而已
style.xml
添加中的- add all of your font files in
res/font
- localize
style.xml
(createvalues/style.xml
&&values-ln/style.xml
) - in
AppTheme
for everystyle.xml
add<item name="android:fontFamily">@font/your_desired_font</item>
- that's all
如果一种语言的字体不止一种(例如,常规字体,粗体字体,浅色字体等),则将其添加到每种style.xml中,例如:
if you have more than one font for a language (let's say regular, bold, light, etc.) then add it to each style.xml, example:
<style name="FontLocalizedBold">
<item name="android:fontFamily">@font/your_desired_font</item>
</style>
用法:
<TextView
android:id="@+id/textViewId"
android:layout_width="100dp"
android:layout_height="100dp"
style="@style/FontLocalizedBold"
android:gravity="center"
tools:text="XX"/>
这篇关于每种语言的Android不同字体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!