Android之string.xml 使用总结
16lz
2021-01-25
昨天看公司项目的时候,发现在定义String.xml的时候,用到了%1$s变量文本格式,不太理解。上网翻看了博客,才知道是这么做的。既然对String.xml不太了解,顺便多看几篇大神的博文总结下。
strings.XML,大家都不陌生。为了国际化,Android建议在屏幕显示的文字定义在strings.xml中。另外一方面,减少了应用体积,降低数据冗余。比如应用中使用“网络不给力,请查看网络连接!”,如果没有放在strings.xml里面,每次使用时都要打印这几个字,降低了开发效率的同时,增加了数据冗余。但将其定义在strings.xml里面,输入一次,其余只要通过getResource.getString(R.string.XX)调用即可,省时省力。
1. 定义字符串和数值
在strings.xml定义
StringDemo 青岛
在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定义
StringDemo 青岛 - 北京
- 上海
- 济南
- 青岛
* 获取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拼接。我们可以这样做:
Android的国际化]]> 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
今年我%1$d岁,读%2$s.
在Activity中使用:
String worlds = getResources().getString(R.string.mine, 25, "研1");Log.i("123", worlds);12-25 11:22:17.486 16728-16728/com.example.stringdemo I/123: 今年我25岁,读研1
strings.xml的使用暂时总结了这些用法,哪位童鞋还知道更多用法,请告诉我,我做下补充,感谢!
更多相关文章
- Android(安卓)@+id与@id的区别
- android 自定义控件 圆形图片
- Android通过AIDL接口实现跨进程通讯
- android中自定义checkbox大小和图片
- android 自定义菜单
- Android\OPhone自定义视图(View)
- Android(安卓)NDK——必知必会之配置Windows与Linux共享及 Linux
- Android的xml-Rpc实现
- Android自定义控件实现滑动开关效果