android textview 中部分内容 颜色 样式 点击事件的设置

// 文本内容
		SpannableString ss = new SpannableString(remindtitle);
		int stringlength = ss.length();
		// 设置0-2的字符颜色
		ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 设置2-5的字符链接到电话簿,点击时触发拨号
		ss.setSpan(new URLSpan("tel:7758521"), 2, 5,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 设置9-11的字符为网络链接,点击时打开页面
		ss.setSpan(new URLSpan("http://www.baidu.com"), 9, 11,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 设置13-15的字符点击时,转到写短信的界面,发送对象为10086
		ss.setSpan(new URLSpan("sms:10086"), 13, 15,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 粗体
		ss.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), stringlength - 8,
				stringlength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 设置0-2的字符颜色
		ss.setSpan(new ForegroundColorSpan(Color.RED), stringlength - 8,
				stringlength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 斜体
		ss.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 7, 10,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 下划线
		ss.setSpan(new UnderlineSpan(), 10, 16,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

		// Spanned.SPAN_EXCLUSIVE_EXCLUSIVEactivity跳转 前四个字符为可以点击的
		ss.setSpan(new ClickableSpan() {
			// 在onClick方法中可以编写单击链接时要执行的动作
			@Override
			public void onClick(View widget) {
				MyApp.showToast("点击了免责声明");
			}
		}, stringlength - 8, stringlength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		// 使用SpannableString对象设置TextView控件的内容
		tv_login_remind.setText(ss);
		// 在单击链接时凡是有要执行的动作,都必须设置MovementMethod对象
		tv_login_remind.setMovementMethod(LinkMovementMethod.getInstance());

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-06 16:41:32

android textview 中部分内容 颜色 样式 点击事件的设置的相关文章

Android EditText中插入图片并响应点击事件

EditText中插入图片基本就是两种方法: 1,通过Html.fromHtml(..)来实现 [mw_shl_code=java,true]eText.append(Html.fromHtml("<img src='" + R.drawable.ohoh + "'/>", imageGetter, null));[/mw_shl_code] 2,通过ImageSpan与SpannableString/SpannableStringBuilder. [m

TextView 多文字字体颜色及点击事件

像微信朋友圈点赞功能如:张三.李四.王五.这种格式 最早做法是在layout中创建一个父类容器如linearlayout然后在创建一个子layout,在代码中 通过for循环addView添加到父类容器当中,虽然可以实现效果但是这样无形中会增加很多view控件. 通过SpannableStringBuilder只通过一个textview就可以实现上面的效果. InvitationLike userLike; SpannableStringBuilder builder = new Spannab

设置TextView中的部分位置可以点击,颜色不同

String url="注册宝驾会员代表您已同意<我们服务条款>,请认真阅读."; SpannableStringBuilder style = new SpannableStringBuilder(url); TextViewURLSpan myURLSpan = new TextViewURLSpan(); style.setSpan(myURLSpan,12,20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); tv_service.setTe

TextView 设置部分文字颜色及点击事件SpannableString

设置TextView中一部分文字的颜色及点击事件. SpannableString gotoMsgListStr = new SpannableString("消息列表"); gotoMsgListStr.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { startActivity(new Intent(OrderPayStatusActivity.this, MsgListActivi

关于Android PopupWindow中实用Spinner控件点击APP Crash情况整理!

场景异常信息如下: android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? at android.view.ViewRootImpl.setView(ViewRootImpl.java:646) at android.view.WindowManagerGlobal.addView(Wi

jQuery中animate动画第二次点击事件没反应

jQuery中animate动画第二次点击事件没反应 用animate做点击翻页动画时发现第二次点击事件动画没反应,而第一次点击有动画效果,代码如下: 复制代码 代码如下: $(".page").stop().animate({top:“-300px”}, 800, 'easeInOutExpo'); 第二次点击事件动画没反应的原因:top是page元素顶部相与其父元素顶部的距离,第一次点击后,page元素顶部已经移动到距其父元素顶部 -300px的位置,第二次点击时的并不是page在

Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属

在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. res-layout-main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and

Android TextView中文字设置超链接、颜色、字体

TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色.字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置. 效果图: Activity代码: import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.text.Spannable; import android.tex

(转)Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性以及自定义链接到下一个Activity

在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. res-layout-main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns