Android资源String中html标签的使用
2014-04-17 00:29
387 查看
作为Android程序媛一枚,入行不久,博客文章作为实际项目中遇到的一些心得总结,内容都是自己实现过的,也参考了很多别人的文章,在此不逐一列举了,同时咧,也希望能帮到有需要的人O(∩_∩)O哈!
1
轻量级样式标签
Android支持<b>(加粗)、<i>(倾斜)、<u>(下划线)等轻量级html标签,可直接在资源文件strings.xml中使用
strings.xml
activity_main.xml
MainActivity.java
实现效果如下:
2 使用转义html标签
能够直接使用的标签比较有限,若要实现其他效果,如改变字体颜色或者大小等,可使用转义html标签,或者接下来所述的CDDATA方法;
简单了解下转义标签,首先,定义转义字符串的原因有两个:
第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。
第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
例如:< 转义为 < > 转义为 > 空格 转义为 等等。。。其他可百度"html转义字符"
继上例strings.xml 注:将左尖括号替换为转义符<
MainActivity.java 注意设置字符串方法
3 使用CDATA方法
据称该方法是比较推荐的,具体操作如下,许多html标签都可以使用,<h1>~<h6>,<a href=""></a>,<p>,还有设置字体大小如<big>,<small>等等。。。具体可以谷歌下哦O(∩_∩)O
strings.xml
MainActivity.java
实现效果:
4 格式化替换
对于静态字符串中,某些一个或者多个地方可能是需要动态获取的,此时可使用此方法,免去了添加多个TextView的麻烦,并且可与上述改变文字样式的方法相结合使用,关于这点,只需先作格式化替换,再用上述Html.fromHtml(Str...)方法改变文字样式,即可实现想要的效果,详情可查看我的参考文章。
strings.xml
其中,s表示字符串类型,d表示数字类型...其他还有浮点型等并且可以设置显示格式,比如保留几位小数等。。。
activity_main.xml
MainActivity.java
实现效果:格式输出
Finally 参考文章
1)/article/8475845.html
作为Android程序媛一枚,入行不久,博客文章作为实际项目中遇到的一些心得总结,内容都是自己实现过的,也参考了很多别人的文章,在此不逐一列举了,同时咧,也希望能帮到有需要的人O(∩_∩)O哈!
1
轻量级样式标签
Android支持<b>(加粗)、<i>(倾斜)、<u>(下划线)等轻量级html标签,可直接在资源文件strings.xml中使用
strings.xml
<string name="hello_world">Hello world!</string> <string name="hello_world01"><b>Hello world!</b></string> <string name="hello_world02"><u>Hello world!</u></string> <string name="hello_world03"><i>Hello world!</i></string>
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world01"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world02"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world03"/> </LinearLayout>
MainActivity.java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
实现效果如下:
2 使用转义html标签
能够直接使用的标签比较有限,若要实现其他效果,如改变字体颜色或者大小等,可使用转义html标签,或者接下来所述的CDDATA方法;
简单了解下转义标签,首先,定义转义字符串的原因有两个:
第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。
第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
例如:< 转义为 < > 转义为 > 空格 转义为 等等。。。其他可百度"html转义字符"
继上例strings.xml 注:将左尖括号替换为转义符<
<string name="hello_world01"><b>Hello world!</b></string>
MainActivity.java 注意设置字符串方法
TextView tvBold = (TextView) findViewById(R.id.tv01); tvBold.setText(Html.fromHtml(getString(R.string.hello_world01)));
3 使用CDATA方法
据称该方法是比较推荐的,具体操作如下,许多html标签都可以使用,<h1>~<h6>,<a href=""></a>,<p>,还有设置字体大小如<big>,<small>等等。。。具体可以谷歌下哦O(∩_∩)O
strings.xml
<string name="textTest"><Data><![CDATA[ <b>Hello</b><br/> <font color="#ff0000"> world</font>!<br/> ]]></Data></string>
MainActivity.java
TextView tvTest= (TextView) findViewById(R.id.tv_test); tvTest.setText(Html.fromHtml(getString(R.string.textTest)));
实现效果:
4 格式化替换
对于静态字符串中,某些一个或者多个地方可能是需要动态获取的,此时可使用此方法,免去了添加多个TextView的麻烦,并且可与上述改变文字样式的方法相结合使用,关于这点,只需先作格式化替换,再用上述Html.fromHtml(Str...)方法改变文字样式,即可实现想要的效果,详情可查看我的参考文章。
strings.xml
<string name="textTest">Tom%1$s就要%2$d岁了</string>
其中,s表示字符串类型,d表示数字类型...其他还有浮点型等并且可以设置显示格式,比如保留几位小数等。。。
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/tv_test" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
MainActivity.java
TextView tvTest= (TextView) findViewById(R.id.tv_test); tvTest.setText(String.format(getString(R.string.textTest), "明年",12));
实现效果:格式输出
Finally 参考文章
1)/article/8475845.html
相关文章推荐
- Android string.xml中使用html标签
- Android string.xml中使用html标签
- Android资源之String (三): html标签,语法(原生支持) 设置字体大小/颜色/下划线等
- Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示
- Android 开发使用String 类替换Html中字段问题
- android string中html标签与span设置方式
- Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)
- Android资源文件中xliff标签的使用
- Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)
- Android开发中自定义string、color、style、drawable,title,布局页面(include)的资源使用方法.txt
- Android String资源文件的使用
- Android资源的使用之String
- Android的string.xml中使用html与变量
- Android的string.xml中使用html与变量
- python初学-----查找Android项目中未使用的string资源
- Android中的string.sml中xliff:g标签的使用用法
- Android中String资源标签加空格 
- android 使用lint + studio ,排查客户端无用string,drawable,layout资源
- android在程序代码中使用String资源
- android在程序代码中使用res目录下的String资源