TextView 的隐藏技能
字符串资源里变量替换
Android开发中是拒绝硬编码的,我们需要把一些字符串放在xml中当作资源使用,假设有如下情况:
<string name="welcome">你好A,欢迎使用我们的App。</string>
我们在程序中需要使用这个字符串,但是A是一个变量,很常规的办法是取出这个字符串,然后用String的replace方法把A替换成用户的昵称。
其实,在android中有这样一个东西,那就是 XLIFF,全称叫 XML 本地化数据交换格式,英文全称 XML Localization Interchange File Format。
用法也是很简单的,如
<string name="welcome">你好%1$s,欢迎使用我们的App。</string>
程序中只要给变量赋值就可以了,如
String welcome = getString(R.string.welcome, "小调皮");
显示结果就变成了
你好小调皮,欢迎使用我们的App。
%1 s这里的 s代表字符串$d代表整数。
下面我再写一个例子
xml配置文件
<string name="tvText">大家好!我叫%1$s请多关照,我今年%2$d岁,我的体重也是%2$dkg</string>
代码实现
String tvText = getString(R.string.tvText,"android",60);
显示
大家好!我叫android请多关照,我今年60岁,我的体重也是60dkg
TextView中设置Html
下面先说说TextView支持的HTML的标签有什么
HTML支持的标签
<a href="..."> //定义链接内容
<b> //定义粗体文字 b 是blod的缩写
<big> //定义大字体的文字
<blockquote> //引用块标签
<br> //定义换行
<cite> //表示引用的URI
<dfn> //定义标签 dfn 是defining instance的缩写
<div align="...">
<em> //强调标签 em 是emphasis的缩写
<font size="..." color="..."