`

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());


 http://www.myexception.cn/android/1172814.html
 

  • 大小: 5.3 KB
分享到:
评论

相关推荐

    TextView自定义各种效果实现

    除了默认的点击事件,还可以自定义点击事件,如长按事件,或者指定区域内点击事件,这需要重写`onTouchEvent()`方法。 13. **自动换行与滚动** 对于长文本,可以自定义TextView使其支持自动换行和滚动,可以通过...

    Android实现TextView文字滚动.zip

    然而,当TextView中的文本内容超出显示区域时,我们有时需要实现文本的滚动效果,以便用户可以查看全部内容。本教程将深入讲解如何在Android中实现TextView的文字滚动功能。 首先,我们要了解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自定义控件---“取消”视图

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

    android textview 文字排版 换行

    在Android开发中,`TextView`是用于展示文本的最基础且重要的组件。它不仅可以显示单行文本,还能处理复杂的文字排版,包括自动换行。本文将深入探讨`TextView`在处理文字排版和换行方面的知识,以及如何优化其性能...

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

    当我们要实现一个功能,让用户在评论区域看到不同用户的回复时,需要对TextView进行分段操作,以便清晰地展示每个用户的发言。 首先,我们需要理解如何在TextView中插入分隔符。在朋友圈评论场景中,通常会用不同的...

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

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

    android 自定义跑马灯

    首先,我们需要理解Android自带的`TextView`控件有一个名为`android:singleLine`(API 26后改为`android:maxLines="1"`)的属性,当设置该属性并且文本过长时,可以启用横向滚动效果。但是,这种滚动方式并不完全...

    自定义控件_滚动的TextView

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

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

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

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

    在Android开发中,`TextView` 是一个非常基础且重要的组件,用于显示文本信息。当文本长度超出`TextView` 的宽度或高度时,开发者通常需要处理如何优雅地展示这些超出的文字,以免破坏应用的视觉效果。本文将深入...

    android里倾斜的TextView

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

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

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

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

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,有时我们需要实现文本内容的滚动效果,比如在信息过多无法一次性显示时。本文将深入探讨如何使用原生的Android动画技术来实现TextView的垂直滚动效果...

    android 自定义对话框

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

    Android自定义任意层级树形

    3. **定义视图holder**:创建一个`TreeViewViewHolder`,持有节点的UI元素,如ImageView、TextView和一个可展开/折叠的箭头。根据需要为每个节点实现点击事件监听。 4. **实现适配器逻辑**:在适配器中重写`...

Global site tag (gtag.js) - Google Analytics