package com.cm;
import java.util.ArrayList;
import android.R.color;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Html;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.text.style.URLSpan;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class TextHtml extends Activity {
private TextView tv;
private static Context ctx;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tv = new TextView(this);
ctx = this;
String htmlLinkText = "我是超链接"+ "<a style=\"color:red;\" href='lianjie'>超链接点击事件</a>";
// 文字的样式(style)被覆盖,不能改变……
tv.setText(Html.fromHtml(htmlLinkText));
tv.setMovementMethod(LinkMovementMethod.getInstance());
CharSequence text = tv.getText();
if (text instanceof Spannable) {
int end = text.length();
Spannable sp = (Spannable) tv.getText();
URLSpan[] urls = sp.getSpans(0, end, URLSpan.class);
SpannableStringBuilder style = new SpannableStringBuilder(text);
style.clearSpans();// should clear old spans
//循环把链接发过去
for (URLSpan url : urls) {
MyURLSpan myURLSpan = new MyURLSpan(url.getURL());
style.setSpan(myURLSpan, sp.getSpanStart(url),
sp.getSpanEnd(url), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
}
tv.setText(style);
}
setContentView(tv);
}
private static class MyURLSpan extends ClickableSpan {
private String mUrl;
MyURLSpan(String url) {
mUrl = url;
}
@Override
public void onClick(View widget) {
if(mUrl .equal(lianjie)){
Toast.makeText(ctx, mUrl, Toast.LENGTH_LONG).show();
widget.setBackgroundColor(Color.parseColor("#00000000"));
}
}
}
}
分享到:
相关推荐
Android自定义TextView链接点击和长按事件
android TextView android TextView
Android 文本类中字体颜色的改变,并可以相应点击事件
android TextView 支持CSS样式
Android TextView 去掉自适应默认的fontpadding的实现方法 最近在项目中使用textview时发现在使用Android:layout_height=”wrap_content”这个属性设置后,textview会有默认的padding,也就是fontpadding。这样就会...
Android TextView 文字片点击特效、点击事件监听实现了TextView 文字片段 点击_长按 事件监听 以及点击特效关键技术 在自定义Span中对TextPaint的color、bgcolor等属性设置选中时的文字颜色,背景色、 在自定义...
Android TextView中链接的实现,实现打开网页和拨打电话。
本文实例讲述了Android TextView实现垂直滚动效果的方法。分享给大家供大家参考,具体如下: 在TextView中,如果文本很长,可能需要实现垂直滚动显示文本的效果。这里需要在XML布局文件中为TextView设置如下几个属性...
android实现TextView文字部分渐变色;LinearGradientFontSpan SpannableString
Android textview 文字中间加上图片
有时候看到原型图上要求图片和文字对齐,但是直接使用TextView的话总是有一段空白,这里直接继承TextView重写onDraw方法去掉上下边距,但是简单粗暴,导致只能显示文字,没有TextView其他的功能了。
android textview 部分文本变色,点击可跳转到指定的链接
MTextView,解决Android TextView提前换行的问题
Android 点击TextView 改变背景色
android textview 文字排版 换行
Android TextView 换行不对齐的问题
android TextView 折叠展开
安卓中的TextView 实现部分文字点击事件,通过Spannable 实现
Android TextView显示html的demo ,演示如何在TextView上显示html效果,包括图片,
android textview 指定片段添加点击事件 关注博客 http://himici.com