前言
最近总是感觉自己很无聊 ,也不知道干啥 ,以前学习,看书感觉挺快乐的,现在总是没事拿个手机刷视频 ,感觉糟透了
字符串资源
字符串资源为您的应用提供具有可选文本样式和格式设置的文本字符串。共有三种类型的资源可为您的应用提供字符串:
上边是android官网对字符串的解释 ,字符串资源也就是程序中使用的文本资源吧(本人理解 不对勿喷)
字符串资源的分类
官网把字符串资源分成了三类 ,其中包括 String(提供单个字符串的xml资源),StringArray(提供字符串数组的xml资源),QuantityStrings(带有用于多元化的不同字符串的 XML 资源)接下来我们分别说说他们
一个资源文件的使用,一般包括再什么位置定义资源 ,以及这份资源会被androd系统编译成什么类,以及如何在代码 或者是别的文件中使用它
单个字符串资源(String)
语法:
<?xml version="1.0" encoding="utf-8"?>
//resource元素必须是根结点 无属性
<resources>
<string
// 字符串的名称 此名称作为资源的id
name="string_name"
>text_string</string>
</resources>
字符串的使用很简单,应该在这里就不演示如何使用了
字符串数组(String Array)
语法
<?xml version="1.0" encoding="utf-8"?>
<resources>
//定义一个字符串数组,包含一个或者是多个item元素
<string-array
//字符数组的名称
name="string_array_name">
<item
>text_string</item>
</string-array>
</resources>
使用StringArray
定义一个StringArray资源
<string-array name="example_string_array">
<item>android</item>
<item>flutter</item>
<item>ios</item>
<item>web</item>
</string-array>
在代码中使用
dataBinding.text.text = resources.getStringArray(R.array.example_string_array)[0]
样式和格式
- 处理特殊字符:如果 XML 或 Android 中的字符串包含有特殊用法的字符,则必须转义这些字符。您可以使用前导反斜杠转义某些字符,但其他字符需使用 XML 转义。您也可以通过在双引号中包括整个字符串,处理撇号和单引号。以下为部分示例
- 设置字符串的格式
<!-- 设置字符串格式练习-->
<string name="welcome_messages">Hello ,%1$s! You have %2$d new message</string>
dataBinding.text.text = getString(R.string.welcome_messages,"栾桂明",4)
这个设置字符串的格式挺好玩的 可以通过代码配合定义的资源 实现动态改变字符串
这里只是总结了我本人感觉会使用的知识点。详细的内容可以看
https://developer.android.com/guide/topics/resources/string-resource#StylingWithSpannables