字符串的字体和显示 (3)

安卓有三种字符串,String, String Array, Quantity String(Plurals).

String和String Array容易理解,一个是字符串,一个是字符串数组。

通过

String[] planets = res.getStringArray(R.array.planets_array);

就可以在代码中获得字符串数组。

第三种是一个特例,为什么叫Quantity呢?因为在英语中,一个苹果,one apple, 两个苹果,two apples,可以看到根据量词的不同,后面的名词也会做出相应的变化。所以为了区别这个很常见的语法习惯,Android单独一个Quantity字符串表示。

quantity可以用["zero" | "one" | "two" | "few" | "many" | "other"]这些表示,比如



    
        %d song found.
        %d songs found.
    

一首歌的时候用前面的one内容,其它歌曲的时候用下面的内容,就会自动加上s后缀。

int count = getNumberOfSongsAvailable();
Resources res = getResources();
String songsFound = res.getQuantityString(R.plurals.numberOfSongsAvailable, count, count);

1.特殊字符串

安卓可以表示特殊字符串,比如&, ?, <等,一般都是用\@表示。

还支持像printf函数那样的格式化输出。

源码在appresources目录里面。

写了三个函数专门对字体进行加粗,斜体,颜色变化。

CharSequence style = bold(italic(getString(R.string.guide)), " ",
                color(Color.RED, getString(R.string.guide)));

2.html格式

Android支持下面的html元素,可以在字符串中使用,


    Bold: , 
    Italic: , , 
    25% larger text: 
    20% smaller text: 
    Strikethrough: , , 
    Underline: 
    Superscript: 
    Subscript: 
    Bullet points: 
    ,
  • Line breaks:
    Division:
    CSS style: Paragraphs:

3.字体的替换

在res/font/文件夹中存放字体,然后使用利用Annotation对字符串进行解析,最终程序的显示效果

字符串的字体和显示 (3)_第1张图片

其中官方有个很好的应用展示各种材料设计,显示不同的内容。

https://github.com/nickbutcher/plaid

 

你可能感兴趣的:(安卓开发指南)