Android R.string

在项目中代码中尽可能少出现中文(注释除外),对此,就需要将字符串设置到string.xml中

通常用法
EXAMPLE 1:
    string.xml中配置:<string name="hello">Hello!</string>
    layout xml中使用方式为:<TextView
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:text="@string/hello" />
    code 中使用方式为:String string = getString(R.string.hello); / String string = getResources().getString(R.string.hello);
    
当然string.xml中也允许设置字符串数组
EXAMPLE 2:
    string.xml中配置:<string-array name="planets_array">
                        <item>Mercury</item>
                        <item>Venus</item>
                        <item>Earth</item>
                        <item>Mars</item>
                      </string-array>
    code 中使用方式为:Resources res = getResources();
                       String[] planets = res.getStringArray(R.array.planets_array);
    
需要注意的是,在配置文件中会使用到特殊字符,eg:英文状态下的单引号“\‘”    ,换行符“\n”, 百分号“\%”, “\@”符号
EXAMPLE 3:
    string.xml中配置:正确:<string name="good_example">"This‘ll work"</string>                --在双引号中仅仅是作为字符串输出
                            <string name="good_example_2">This\‘ll also work</string>        --不带双引号,则需要考虑转义字符
                            <string name="good_example_3" formatted="false">This‘ll also work</string>        --不带双引号,设置取消格式化
                      错误:<string name="bad_example">This doesn‘t work</string>
                            <string name="bad_example_2">XML encodings don&apos;t work</string>
                            
当然,string.xml中也支持通配符方式
EXAMPLE 4:
    string.xml中配置:<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
                      %1、%2代表参数的顺序,$s表示输出字符串,$d表示输出十进制整数, $f表示输出十进制浮点数
    code 中使用方式为:Resources res = getResources();
                       String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
                      
最后是带HTML样式的字符串
EXAMPLE 5:
    string.xml中配置:<string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string>
                      这里需要注意的是转义字符的使用,eg:< 或 &,可参考EXAMPLE 3
    code 中使用方式为:Resources res = getResources();
                       String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
                       CharSequence styledText = Html.fromHtml(text);
                       
                       这里需要注意参数1:username,如果username中包含了特殊字符 < 或 & 时,需要将其中的特殊字符转义
                       String escapedUsername = TextUtil.htmlEncode(username);
                       Resources res = getResources();
                       String text = String.format(res.getString(R.string.welcome_messages), escapedUsername, mailCount);
                       CharSequence styledText = Html.fromHtml(text);
                       
根据官府文档的介绍就到这里,其中还缺少一个关于特殊字符Quantity String的用法,没看明白官方文档的说明也比较少用到,就忽略吧

时间: 2024-08-01 21:38:42

Android R.string的相关文章

【转】android中string.xml文件的使用

1.在程序中获取string.xml中字符串和数值 <?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello World, MainActivity!</string>    <string name="app_name">TestExample01</stri

Android UI学习 - ListView (android.R.layout.simple_list_item_1是个什么东西)

Android UI学习 - ListView 2010-06-20 18:21:35 标签:Android UI 移动开发 ListView ListActivity 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://android.blog.51cto.com/268543/336162 ListActivity ListActivity是一个专门显示ListView的Activity类,它内置了ListView对象,只要我

Android 自带图标库 android.R.drawable

在xml文件中调用. android:title="@string/secure_connect"android:orderInCategory="100"android:icon="@android:drawable/ic_menu_search" android:drawableRight="@android:drawable/arrow_down_float"/> 程序中调用. setIcon(android.R.

Android中 string.xml资源 如何添加参数?

在android 开发,我们通常会用string.xml资源去设置textview等控件的字符串.而值一般是与程序的运行结果无关的. 但有时需要根据运行的结果来显示到控件中,这时字符串资源就不能写死了. 可以用如下的表示方法来设置: %n$ms:s代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格. 如 :%1$2s表示:字符串资源的第1个string类型参数且该参数之后带有两个空格. %n$md:d代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格.

android获取string.xml的值

转自 http://blog.sina.com.cn/s/blog_618199e601011bst.html 为什么需要把应用中出现的文字单独存放在string.xml文件中呢? 一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文.这样做国际化非常的方便. 二:为了减少应用的体积

Android通过String.format格式化(动态改变)字符串资源的显示内容

一.实现效果: 最近在项目中需要做类似于上图显示的效果,里面的数字和称谓是动态获取的,对于这种显示效果,有如下两种解决方案来处理: (1)通过代码动态设置TextView的内容,比如: /** * 显示今日状态 * * */ private void showTodayState( int totalUser, float upRate, String hornor, char level ){ StringBuilder todayStateStr = new StringBuilder( )

android获取string.xml的值(转)

为什么需要把应用中出现的文字单独存放在string.xml文件中呢? 一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文.这样做国际化非常的方便. 二:为了减少应用的体积,降低数据的冗余.假设在应用中要使用"我们一直在努力"这段文字1000次,如果在每次使用时直接写上这几

Android中String资源文件的format方法

很多时候我们感性Google在设计Android时遵守了大量MVC架构方式,可以让写公共代码.美工和具体逻辑开发人员独立出来.有关Android 的资源文件values/strings.xml中如何实现格式化字符串呢? <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">stringdemo</string&

Android 中String的小秘密

平时我们都知道使用String的时候呢要避免在代码中硬编码,应该统一使用string.xml文件来保存我们在项目中用到的字符串,好处在于避免代码的复用,统一管理和根据不同地区加载不同语言等. 但是我们可以平时忽略它的一些用法: 1.string也可以使用参数 <string name="four">4</string> <string name="family">我们家有%s个人</string> 使用: getStr