`

Android textview实现局部点击

 
阅读更多
先看效果图:



实现代码,很简单的:
	private SpannableString getClickableSpan(String text) {
		View.OnClickListener l = new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Log.i("jerome","click");
			}
		};

		SpannableString spanableInfo = new SpannableString(text);
		int start = spanableInfo.length() - 4;
		int end = spanableInfo.length();
		spanableInfo.setSpan(new Clickable(l), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		return spanableInfo;
	}

	class Clickable extends ClickableSpan {
		private final View.OnClickListener mListener;

		public Clickable(View.OnClickListener l) {
			mListener = l;
		}

	    @Override
	    public void updateDrawState(TextPaint ds) {
	        ds.setColor(Color.RED);//文本颜色
	        ds.setUnderlineText(false);//是否有下划线
	        ds.bgColor = Color.WHITE;//背景颜色
	    }
	    
		@Override
		public void onClick(View v) {
			if (null != mListener) {
				mListener.onClick(v);
			}
		}
	}


使用:
		mTextView.setText(getClickableSpan("数据获取失败,点击重新加载"));
		mTextView.setMovementMethod(LinkMovementMethod.getInstance());


如果要修改点击效果颜色,参考:http://www.itstrike.cn/Question/2d355020-8e84-45ed-8d29-81da2a2ee43a.html
  • 大小: 32.5 KB
0
0
分享到:
评论

相关推荐

    Android Textview 支持ClickableSpan(富文本)

    *设置Textview 中部分字设置可以点击、变色,设置setMovementMethod(LinkMovementMethod.getInstance())后滑动与Textview局部点击冲突...都已经解决. *解决点击空白区域依然有点击事件 *已经封装成工具类,可以支持...

    Android长按TextView复制文本内容,可以直接使用

    Android系统提供了一个方便的功能,允许用户通过长按`TextView`来实现文本复制,而无需额外的复杂设置。本文将详细介绍如何实现这一功能,以及相关的知识点。 首先,`TextView`默认支持长按事件,当用户在`TextView...

    android textview 指定片段添加点击事件

    本篇将详细讲解如何在Android中实现TextView指定片段的点击事件。 首先,我们需要了解SpannableString和ClickableSpan这两个关键概念。SpannableString是可扩展的字符串,允许我们在字符串的不同部分应用不同的属性...

    Android中TextView局部变色功能实现

    Android 中 TextView 局部变色功能实现 Android 中 TextView 局部变色功能实现是指在 Android 应用程序中,实现 TextView 中部分文字不同颜色的功能。这个功能非常重要,特别是在开发一些需要文字颜色变化的应用...

    TextView中,设置指定部分文字改变颜色,和指定部分文字点击事件

    在一些场景下,我们可能需要对`TextView`中的特定部分文字进行颜色变化,甚至为这部分文字添加点击事件,以实现更复杂的用户交互。下面我们将详细探讨如何实现这些功能。 ### 1. 设置指定部分文字颜色 `TextView`...

    SpannableString 一个TextView不同的效果实现

    这个技术专题主要探讨如何利用SpannableString来创建一个TextView,实现点击事件、下划线、局部字体放大、局部颜色变化以及删除线等多种功能。 首先,SpannableString是CharSequence的一个子类,它允许我们对字符串...

    Android实现局部模糊效果

    Android 实现局部模糊效果 Android 实现局部模糊效果是指在 Android 应用程序中实现局部模糊或者毛玻璃效果的技术。这种效果可以用来创造出非常酷炫的视觉效果,例如模糊背景、毛玻璃效果等。 在 Android 中实现...

    Android-FlexibleRichTextView可以显示LaTeX图片代码的TextView

    `Android-FlexibleRichTextView`是一个专门为此目的设计的库,它使得在Android的TextView中嵌入LaTeX图像、图片以及代码变得更加灵活和便捷。 `FlexibleRichTextView`的核心特性在于其支持自定义标签,这意味着...

    android编程实现局部界面动态切换的方法

    本篇文章将详细探讨如何通过编程方式实现在Android应用中进行局部界面的动态切换。 首先,我们来看一个简单的例子。在这个例子中,我们将创建一个包含两个按钮("switch" 和 "screen")以及一个可动态替换的`...

    Android实现局部图片滑动指引效果示例

    【Android 局部图片滑动指引效果实现】 在Android应用开发中,滑动效果是非常常见的交互方式,尤其在移动端,可以提升用户体验。本教程将详细讲解如何实现一个局部的图片滑动指引效果,该效果常见于新闻客户端,...

    android中的全局悬浮框不影响底层操作

    4. 为了实现点击悬浮框上的X号关闭悬浮框,可以为X号按钮设置一个OnClickListener: ```java Button closeButton = floatView.findViewById(R.id.close_button); closeButton.setOnClickListener(new View....

    ScratchTextView:自定义textview实现刮刮乐功能

    ScratchTextView是一款专门为Android平台设计的自定义TextView组件,它实现了如同刮刮乐一般的交互效果。在移动应用开发中,这种独特的视觉效果可以用于增加用户的参与度和互动性,例如在游戏、抽奖或者保密信息展示...

    Android中使用LinearLayout完成的四书五经首界面的代码清单 .pdf

    在Android应用开发中,LinearLayout是一种基础且常用的布局管理器,用于组织和排列子视图(Views)在垂直或水平方向上。本文将详细解析如何使用LinearLayout来构建一个四书五经首界面的代码清单,以此帮助开发者理解...

    Android应用源码单Java文件实现的计算器.zip

    这可以通过实例变量或者局部变量来实现。 9. **错误处理**: - 为了提高用户体验,计算器还需要处理一些异常情况,如除数为零、输入非法字符等,此时需要显示错误信息或清除输入。 10. **AndroidManifest.xml**:...

    高亮的TextView

    综上所述,`HighlightTextView`是一个实用的Android自定义控件,它通过扩展TextView的功能,使得在应用中实现局部文本高亮变得简单而灵活。通过研究其源码,开发者不仅可以了解自定义视图的实现方式,还能掌握更多...

    Android实现顶部导航菜单左右滑动效果

    实现原理是使用android-support-v4.jar包中ViewPager控件,在ViewPager控件中设置流布局,再在流布局中设置几项TextView,给每一个TextView设置相关参数,事件等。关于ViewPager控件可以设置全屏幕滑动效果,当然也...

    android 改变字体样式

    在Android开发中,改变字体样式是一项重要的任务,它能让应用程序具有更高的可定制性和用户体验。...无论是局部还是全局的应用,都需要充分考虑到用户体验、性能和兼容性,以打造一个既美观又高效的Android应用。

Global site tag (gtag.js) - Google Analytics