`
wangleyiang
  • 浏览: 220883 次
社区版块
存档分类
最新评论

Android 自定义TextView可点击区域和点击处理

阅读更多

在TextView中不仅可以设置链接类型,而且可以自定义链接类型和相关操作。原理是自定义ClickableSpan来绘制可点击文本的效果和点击后的处理,然后设置TextView的ClickableSpan为自定义的ClickableSpan即可。

自定义ClickableSpan:

	private class CustomizedClickableSpan extends ClickableSpan {
		
	    String text;

	    public CustomizedClickableSpan(String text) {
	        super();
	        this.text = text;
	    }

	    @Override
	    public void updateDrawState(TextPaint ds) {
//	        ds.setColor(ds.linkColor);
	    	ds.setColor(Color.GREEN);
//	        ds.setUnderlineText(false);
	    	ds.setAlpha(50);
	    }

	    @Override
	    public void onClick(View widget) {
	        Toast.makeText(ClipboardTestActivity.this, text, Toast.LENGTH_SHORT).show();
	    }
	}

 测试代码:

        TextView textView03 = (TextView) findViewById(R.id.textView3);
        
        String str = "AAAAAAAAAAAAAAA";
        SpannableString spStr = new SpannableString(str);
        ClickableSpan clickSpan = new CustomizedClickableSpan(str);
        spStr.setSpan(clickSpan, 0, str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        textView03.setText("CCCC");
        textView03.append(spStr);
        textView03.append("BBBB");
        textView03.setMovementMethod(LinkMovementMethod.getInstance());

 运行效果 -- 点击『点下』 -- 点击『释放』:



 

 

 

 

 

 

  • 大小: 1 KB
  • 大小: 1 KB
  • 大小: 3 KB
分享到:
评论
1 楼 Will.Du 2013-05-25  
不错,挺好

相关推荐

    TextView自定义各种效果实现

    对于长文本,可以自定义TextView使其支持自动换行和滚动,可以通过设置`setMovementMethod()`和`setHorizontallyScrolling()`方法实现。 14. **可编辑与输入限制** 若需将TextView转换为可编辑的文本框,可以设置...

    Android实现TextView文字滚动.zip

    在XML布局文件中,我们可以为TextView设置`android:ellipsize="marquee"`和`android:singleLine="true"`属性,使得文本在宽度不足时自动左右滚动。但需要注意的是,marquee效果只有在TextView获得焦点时才会启动,...

    解决Android原生TextView显示中英文等末尾参差不齐问题

    综上所述,解决Android原生TextView显示中英文等末尾参差不齐的问题,可以通过自定义字体、使用SpannableString、创建自定义TextView、利用第三方库、预处理文本、CSS样式以及调整Gravity属性等多种方式。...

    android自定义圆形布局CircleLayout

    在Android开发中,自定义...总的来说,`CircleLayout`是一个很好的实例,展示了Android自定义布局的实现过程。通过学习和理解这个例子,开发者可以更好地掌握自定义布局的原理,从而在项目中创造出更多独特的界面效果。

    安卓自定义TextView.zip

    本教程主要探讨如何基于Android系统创建一个自定义TextView,该控件适用于显示标题与描述内容,并具备动态计算高度、固定最大高度以及手势滑动扩展视图等功能。 首先,我们需要创建一个新的Java类,继承自Android的...

    Android自定义SeekBar滑动条

    本篇文章将深入探讨如何在Android中自定义SeekBar,以满足更个性化的视觉效果和交互需求。 1. **自定义SeekBar的基本步骤** - 创建一个新的XML布局文件,在其中定义SeekBar,可以设置基本属性如id、width、height...

    Android TextView展开动画效果

    首先,我们需要创建一个新的自定义TextView,比如叫做ExpandTextView。这个自定义视图需要继承自Android原生的TextView,并添加一些额外的功能来处理动画。在代码中,我们需要维护一个变量来记录当前TextView的显示...

    安卓,Android TextView的垂直滚动效果和上下滚动效果,原生动画实现

    - 自定义View时,需要正确处理测量(onMeasure)和布局(onLayout)过程,以确保滚动的计算正确。 通过以上方法,开发者可以灵活地为TextView添加垂直滚动和上下滚动效果,为用户提供更好的交互体验。在实际项目中...

    Android自定义控件---“取消”视图

    为了实现点击效果,我们需要重写`setOnClickListener()`方法或者在`onTouchEvent()`方法中处理点击事件: ```java @Override public void setOnClickListener(OnClickListener l) { super.setOnClickListener(l); ...

    android textview 文字排版 换行

    本文将深入探讨`TextView`在处理文字排版和换行方面的知识,以及如何优化其性能。 ### 一、TextView的基础用法 1. **XML布局中声明TextView** 在布局文件中,我们通常通过以下方式声明一个`TextView`: ```xml ...

    Android实现类似朋友圈评论的功能(TextView分段操作)

    在Android开发中,实现类似朋友圈评论的功能涉及到对TextView的深入理解和使用。TextView是Android系统中最基本的文本展示组件,它可以显示单行或多行文本,并且支持多种格式化选项,如字体大小、颜色、链接等。当...

    android 自定义跑马灯

    总之,自定义Android跑马灯效果需要理解Android绘图机制,掌握`View`的生命周期和测量过程。通过结合`Handler`进行定时滚动,以及对文本布局的处理,可以实现循环滚动的跑马灯效果。而使用开源库则可以简化这一过程...

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

    // 在此处处理点击事件,例如弹出对话框或跳转到其他页面 Toast.makeText(context, "你点击了指定文本", Toast.LENGTH_SHORT).show(); } // 可选:改变选中状态下的文字样式 @Override public void ...

    自定义控件_滚动的TextView

    本文将深入探讨如何创建一个具有“跑马灯”效果的自定义TextView,这个控件可以在文本超出可视区域时自动滚动显示内容,常见于新闻标题或者广告横幅等场景。 首先,我们需要创建一个新的Java类,继承自Android内置...

    Android 高德地图自定义点聚合marker图片及Overlay点击选中功能

    - 记得在`onClusterClick()`方法中处理点击事件,通常会弹出一个信息窗口或者进行其他操作。 2. **Overlay点击选中功能**: - 首先,创建一个自定义的`MapView`,继承自`com.amap.api.maps.MapView`,并在其中...

    android里倾斜的TextView

    不过,Android提供了丰富的自定义视图机制,让我们能够通过继承`TextView` 并重写其部分方法来实现这样的需求。本篇文章将深入探讨如何在Android中创建一个倾斜的`TextView`。 首先,我们需要创建一个新的类,继承...

    仿微博获取到TextView中的url地址并且用“网址链接”替换,点击跳转

    最后,我们将处理过的文本设置到TextView,并设置其运动方法为LinkMovementMethod,这样TextView就会处理点击事件。 以上就是关于“仿微博获取到TextView中的url地址并且用“网址链接”替换,点击跳转”的详细解释...

    Android之TextView实现文字过长时省略部分或者滚动显示

    通过对`TextView`的`ellipsize`属性和滚动显示特性的深入了解,开发者可以更加灵活地处理文本过长的问题,不仅能够保持应用界面的整洁美观,还能提供丰富的动态显示效果,增强应用的互动性和吸引力。无论是初学者...

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

    在实际项目中,你可以根据需求进行适当的修改和扩展,例如动态设置颜色、处理多个可点击区域等。在提供的`TextClickTest`压缩包文件中,可能包含了相关的代码示例,可以作为参考来进一步理解和实践这些知识点。

    android 自定义对话框

    以上就是关于Android自定义对话框的一些关键知识点。通过熟练掌握这些技巧,开发者可以创建出更加美观、易用的对话框,提升用户体验。在实际项目中,可以根据需求灵活运用,打造出满足各种场景的自定义对话框。

Global site tag (gtag.js) - Google Analytics