参考:http://www.cnblogs.com/playing/archive/2011/03/17/1987033.html
尽管你可以用以下方式实现textview实现html的一些风格,我还是建议将html解析后再插入和替换
TextView t3 = (TextView) findViewById(R.id.text3);
t3.setText(
Html.fromHtml(
"<b>text3:</b> Text with a " +
"<a href=\"http://www.google.com\">link</a> " +
"created in the Java source code using HTML."));
尤其在如果想在其中加入点击事件和插入图片是很困难的。
除了以上这段html文本形式表达,我封装了工具类,用代码将表达的更清晰,
以下是用代码编写的示例:
public class TextUtilsActivity extends Activity implements ClickListen {
/** Called when the activity is first created. */
TextView tv=null;
String strContent="是一种可以撰写跨平台应用软件的面向对象的程序设计语言," +
"是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台" +
"(即JavaSE, JavaEE, JavaME)的总称。";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.text);
//允许点击事件
new TextForHTML()
//插入一张JAVA logo
.appendHtmlFormat(new ImgInRes(this, R.drawable.java, null))
//插入一段文字
.appendHtmlFormat(strContent,
new ColorFont("#FCFCFC"),//颜色直白
new SizeFont(2),//字体大小2
new ParagraphFont()) //以段落形式
.appendHtmlFormat(
new ActionSpan("你点击了一张图片",//插入了一张图片的事件区域
new ImgInRes(this,R.drawable.android, null).getSpannable(),this))
.appendHtmlFormat(
new ActionSpan("打开了一条链接www.baidu.com",//插入文字事件区域
TextForHTML.getStringSpan(">>点击阅读全文",
new UnderLinerFont(), //加入下划线
new ColorFont("#FF60AF")//颜色蓝色
),this))
.setSpanned(tv);
}
@Override
public void onClick(View widget, String url) {
// TODO Auto-generated method stub
Toast.makeText(TextUtilsActivity.this,
url, 3).show();
}
}