Android Design Demo 策略模式 TextView HTML封装 加下划线加图片加点击事件

30 篇文章 0 订阅
28 篇文章 0 订阅

参考: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();
	}
}


代码下载:http://download.csdn.net/detail/b275518834/4971770

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值