• 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 - 支持不同的设备 - 支持不同的屏幕

  • 相关阅读:
    AngularJS 包含HTML文件
    AngularJS 验证
    AngularJS html+DOM+ng-click事件
    表格边框css
    Ubantu下面命令听歌(豆瓣fm)
    AngularJS $http
    AngularJS过滤器
    Python-注册
    Python之内置函数
    生成手机号码代码
  • 原文地址:https://www.cnblogs.com/fengquanwang/p/3142536.html
Copyright © 2020-2023  润新知