昨天看公司项目的时候,发现在定义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的使用暂时总结了这些用法,哪位童鞋还知道更多用法,请告诉我,我做下补充,感谢!

更多相关文章

  1. Android(安卓)@+id与@id的区别
  2. android 自定义控件 圆形图片
  3. Android通过AIDL接口实现跨进程通讯
  4. android中自定义checkbox大小和图片
  5. android 自定义菜单
  6. Android\OPhone自定义视图(View)
  7. Android(安卓)NDK——必知必会之配置Windows与Linux共享及 Linux
  8. Android的xml-Rpc实现
  9. Android自定义控件实现滑动开关效果

随机推荐

  1. Centos7.5安装mysql5.7.24二进制包方式部
  2. 基于更新SQL语句理解MySQL锁定详解
  3. 使用PDO防sql注入的原理分析
  4. MySQL 8.0.13 下载安装教程图文详解
  5. MySQL5.6的zip包安装教程详解
  6. 如何批量生成MySQL不重复手机号大表实例
  7. Linux下安装mysql的教程详解
  8. mysql 8.0.12 安装图文教程
  9. win10下mysql 8.0.13 安装配置方法图文教
  10. mysql 8.0.13 安装配置方法图文教程