我是Android应用开发者的新手。我想根据书籍的内容创建一个应用。但这本书包含2种不同的语言.App必须使用相同的语言和字体..
那么如何在我的应用程序中包含该语言和字体? 请帮帮我。
答案 0 :(得分:0)
要添加字体,请阅读 - > this
可以添加语言,为每种语言创建一个value-xx.xml ..像这样:
MyProject/
res/
values/
strings.xml
values-es/
strings.xml
values-fr/
strings.xml
(没有sufix的值是英文)
在每个文件中,语法都必须如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">My app name</string>
<string name="hello_world">Hello world!</string>
</resources>
答案 1 :(得分:0)
您应该拥有项目资源的常规文件夹,然后是特定语言。
常规文件夹位于Project - &gt; res - &gt;值。 该文件夹可以包含strings.xml,fonts.ml,colors.xml,dimens.xml等文件。
除上述常规文件夹外,如果我选择西班牙语,您还可以通过提供特定语言的folder.consider来支持其他语言。 我有一个文件夹项目 - &gt; res - &gt; values-es。 (&#34; es&#34;西班牙语,&#34; en&#34;英语等) 这个文件夹,&#34; values-es&#34;还有文件strings.xml,fonts.ml,colors.xml,dimens.xml等,
现在,对这些文件的访问将受用户区域设置的控制。 如果用户的区域设置为&#34; es&#34;那么&#34; values-es&#34;中的文件将检查该值。如果找到该值,则返回该值,否则为默认值&#34;值&#34;文件夹将被检查。 如果用户具有未定义其特定值文件夹的区域设置,则默认为&#34;值&#34;文件夹将用于检查值。即如果我的语言环境是日语,我只有&#34;值&#34;和&#34;价值观&#34;文件夹我将从&#34;值&#34;中获得值。文件夹中。
你的情况:你应该在&#34;值&#34;中有一个字体文件夹。不需要另一个。一个应该就够了。但是对于字符串,你应该有两个字符串文件,每个字符串在#34;值&#34;和&#34;值 - ??&#34;。
答案 2 :(得分:0)
你应该把xml字符串放在特定的目录中。在这里阅读更多http://developer.android.com/training/basics/supporting-devices/languages.html
对于前面,自定义文本视图会更好:
/** * TextView with custom font
*/
public class TextViewWithFont extends TextView {
private final String FONT = "fonts/Verdana.ttf";
public TextViewWithFont(Context context, AttributeSet attrs) {
super(context, attrs);
this.setTypeface(Typeface.createFromAsset(context.getAssets(), FONT));
}
public TextViewWithFont(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
this.setTypeface(Typeface.createFromAsset(context.getAssets(), FONT));
}
public TextViewWithFont(Context context) {
super(context);
this.setTypeface(Typeface.createFromAsset(context.getAssets(), FONT));
}
}