首页
成语
编程
作文日记
android
茶道
美文
Android(安卓)ClickableSpan 应用实例
16lz
2021-12-21
package com.test;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 Test2Activity extends Activity { /** Called when the activity is first created. */private TextView tv;private static Context ctx;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tv = new TextView(this); ctx = this; String htmlLinkText = ""; htmlLinkText = "aaaaaaaaaa" + "<a style=\"color:red;\" href=\"我是超链接……\">超链接点击事件</a>" + "aaaaaaaaaaaaaaaa"; // 文字的样式(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) { Toast.makeText(ctx, mUrl, Toast.LENGTH_LONG).show(); widget.setBackgroundColor(Color.parseColor("#00000000")); }}}
更多相关文章
Android下修改SeekBar样式
beforeTextChanged,TextChanged,afterTextChanged的使用Android
Android设置RadioButton在文字的右边
android acitonbar(toolbar)自定义溢出菜单样式
android 重写TextView 实现文字整齐排版
限制Android的EditText输入文字时换行
Android(安卓)SpannableString使用例子
Android(安卓)TextView追加文字
Android:使用SpannableString实现图片替换相应的文字
随机推荐
Android中使用log4j
Android中GridView组件的使用
Android(安卓)事件触发机制
Android热插拔事件处理流程--Vold
关于Android方法数量限制的问题
Android(安卓)HLS协议相关记录及部分解析
android apk 签名信息 相关
android之动画(一)通过AnimationDrawable控
Android(安卓)uevent
Android(安卓)常用RGB值以及中英文名称