Android - 支持不同的设备 - 支持不同的语言

把app的字符串放到另外一个文件中是一个好习惯。Android用android工程中的资源文件夹让这件事变的很简单。

如果使用Android SDK Tools创建工程,这个工具会在工程的根目录下创建res/文件夹。在res/文件夹下面有各种类型的资源的字文件夹。有一些默认的文件比如res/values/string.xml,它是用来存放字符串的。 

创建本地文件夹和字符串文件

为了支持更多语言,在res/中创建其他的values扩展的文件夹,就是就是在文件夹名后加上一个横线和国家的ISO码。例如,values-es/就是包含代码为"es"的资源文件夹。Android在运行时根据设置加载合适的资源。

一旦你觉得了需要支持的语言,就可以创建资源的子文件夹和字符串文件了。例如:

MyProject/

        res/

              values/

                     strings.xml

              values-es/

                     string.xml

              values-fr/

                     string.xml

把字符串值添加到合适的文件中

在运行时,Android根据本地用户的设置来使用合适的字符串资源

例如,下面是不同语言对应的不同的字符串

英语(默认),/values/string.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3     <string name="title">My Application</string>
4     <string name="hello_world">Hello World!</string>
5 </resources>

西班牙语, /values-es/strings.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3     <string name="title">Mi Aplicación</string>
4     <string name="hello_world">Hola Mundo!</string>
5 </resources>

法语,/values-fr/strings.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3     <string name="title">Mon Application</string>
4     <string name="hello_world">Bonjour le monde !</string>
5 </resources>

注意:你可以使用本地化标识(或者任何配置标识)在任何类型的资源上,比如你想要提供本地化的图片。更多信息,参考Localization.

使用字符串资源 

可以使用资源名来在源代码或者其他XML文件中引用字符串资源,资源名在<string>元素的name属性中定义。

在源代码中,可以使用语句R.string.<string_name>来引用字符串资源。有很多方法来引用字符串资源

例如:

1 //  Get a string resource from your app's Resources
2 String hello = getResources().getString(R.string.hello_world);
3              
4 // Or supply a string resource to a method that requires a string
5 TextView textView = new TextView(this);
6 textView.setText(R.string.hello_world);

在xml文件中,可以使用@string/<string_name>来引用字符串属性。

例如:

1 <TextView
2     android:layout_width="wrap_content"
3     android:layout_height="wrap_content"
4     android:text="@string/hello_world" />

 

上一篇:Android - 支持不同的设备

下一篇:Android - 支持不同的设备 - 支持不同的屏幕

转载于:https://www.cnblogs.com/fengquanwang/p/3142536.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值