版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Snow_Ice_Yang/article/details/81774665
1. 定义字符串和数值
在strings.xml定义
<span style="font-size:18px;"><resources>
<string name="app_name">StringDemo</string>
<string name="city">青岛</string>
</resources>
</span>
在Activity中使用
String city = getResources().getText(R.string.city);
Log.i(“city”, “city : ” + city);
或者使用
String city = getResources().getString (R.string.city);
Log.i(“city”, “city : ” + city);
2. 定义字符数组
在strings.xml定义
<resources>
<string name="app_name">StringDemo</string>
<string name="city">青岛</string>
<string-array name="citys">
<item>北京</item>
<item>上海</item>
<item>济南</item>
<item>青岛</item>
</string-array>
</resources>
* 获取String[]数组
String []citys = getResources().getStringArray(R.array.citys);
* 构建ArrayAdapter
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.citys, R.layout.item_tv);
3. 定义字体的颜色
TextView可以通过设置textColor属性来设置,字体的颜色。但是TextView设置textColor属性时,设置的是全部显示内容字体的颜色。假如“Android的国际化”,“Android”是红色,“国际化”是蓝色,该怎么设置呢?是不是需要用TextView拼接。我们可以这样做:
<string name="worlds"><Data><![CDATA[<font color="#ff0000">Android</font>的<font color="#0000ff">国际化</font>]]></Data></string>
String worlds = getResources().getString(R.string.worlds);
Spanned ws = Html.fromHtml(worlds);
tv_set.setText(ws);
TextView可以显示Html处理的文字。不懂的可以查看博文:http://blog.csdn.net/johnsonblog/article/details/7741972。Johnson大神对TextView使用Html处理的文字、图片有详细解析,拜读一下,大有收获。
4. %s变量文本格式:定义格式为%1$f这样的符号来代替,其中%1表示第一个位置的变量, $s表示为字符串类。
Strings.xml
<string name="mine">今年我%1$d岁,读%2$s.</string>
在Activity中使用:
String worlds = getResources().getString(R.string.mine, 25, "研1");
5.同时定义字体颜色和%s变量文本格式
<string name="input_code_1"><Data><![CDATA[我们已经给手机号码 <font color="#4a9ce9">%1$s</font> 发送了验证码]]></Data></string>
在Activity中使用:
tvPrompt.setText(Html.fromHtml(getResources().getString(R.string.input_code_1, phone)));
strings.xml的使用暂时总结了这些用法,哪位童鞋还知道更多用法,请告诉我,我做下补充,感谢!
文章参考于:https://blog.csdn.net/IO_Field/article/details/50402504