2014-08-19 21:58:05|?次阅读|上传:huigezrx【已有?条评论】发表评论
关键词:Android, 移动应用|来源:唯设编程网
在这一篇文章中,我们讨论Android 应用程序所能使用的各个具体的资源类型、它们在工程立件中的定义方式, 以及如何使用程序访问这些资源数据。
对于每一种类型的资源, 你将学习到哪些类型的值可以被存储, 以且以怎样的棉式存储. 某些资源类型(如Strings 和Colors) 可以在Android 插件的资源辑辑器中进行方便的编辑,同时另些资源类型(如Animation 序列)则通过直接编辑XML文件本身显得更为容品。
String资源是开发人员可用的最简单的资源类型之一。String 资源可以用来在窗体中显示文本标签或帮助文字等。应用程序名称默认也作为string 资源来存储。
String 资源在/res/values 工程目录下定义,并且在构建( build ) 时编译应用程序包。所以包含撒号或单引号的字符串需要进行转义或使用双引号括起来。下表给出了一些格式正确的字符串。
字符串资源值 | 字符串显示 |
Hello, World | Hello, World |
“User's Full Name:” | User's Full Name: |
User's Full Name: | User's Full Name: |
She said,"Hi." | She said. " Hi ." |
She's busy but she did say," Hi." | She's busy but she did say," Hi." |
你可以通过单击strings. xml文件并选择strings .xml 标签页来编辑它, 也可以直接编辑XML 代码。文件保存后,这些资源将自动被添加到R. java 文件中。
字符串值使用其相时应的<string>标记,并且使用"名称-值"对的方式来定义.。"名称"属性将是你在程序中引用某一特定字符串的依据,所以你需要比较讲究地为其由名。
下面是一个简单资源文件/res/values/strings.xml 的例子:
〈? xml version = "l.0 " encoding = " utf-8 " ?> <resources> <string name="app name" >Resource Viewer</string> <string name="test_string" >Testing 1, 2, 3</string> <string name="test_string2" >Testing 4, 5, 6</string> </resources>
对于字符串资源, 你也可以为其添加三种具有HTML 风格的属性,它们分别是加粗、斜体和下画钱.。你可以使用<b> 、<i>和<u>标记来指定这些风格。 例如:
<string name="txt" ><b>Bold</b>,<i>Italic</i>,<u> Line</u> </string >
你可以创建带有格式化的字符串,但是你需要将加粗、斜体和下画线标记进行转义。 例如,下面的文字显示了一个得分和 "win (赢)"或" Iose (输)"的 字符串:
<string name = "winLose">Score: %l$d of %2$d! You %3$s.</string>
如果你需要向上面的字符串添加加粗、斜体和下画线等格式化属性,那么你需要将标记进行转义。例如,如果你想让最后的"Win " 和"lose" 字符串变成斜体,那么你的资源定义应该大致如下所示,
<string name = "winLoseStyled"> Score : %1$d of %2$d! You< %3$s< /i>. </string>
如之前所述的一样,在程序中访问字符串资源是很直接的。你主要可以来用两种方式来访问字符串资源。
下面的程序将访问应用程序中名为" hello" 的字符串资源, 并且仅返回字符本身。所有的HTML 风格属性( 加粗、斜体和下划线)均会从字符串中剔除。
String myStrHello = getResources().getString(R.string.hello);
你也可以使用另外的方法访问字符串并保留其格式:
CharSequence myBoldStr =
getResources() .getText(R.string.boldhello) ;