让TextView支持长按弹出系统自带的拷贝、粘贴功能,发现国内外的论坛提供的解决方法都不怎么理想。多数用editview来模仿,不过实现的效果实在不怎么好。
从android sdk 11起google添加了新api TextIsSelectable控制TextView是否支持拷贝、粘帖功能,不过这个功能在v11以下则不那么好彩了。
查阅TextView源码发现setTextIsSelectable实际调用的是Editor类的相应方法,而Editor里面控制了拷贝、粘帖功能。顺藤摸瓜通过反射获取到mEditor变量再调用setTextIsSelectable里调用的方法,调出拷贝、粘帖功能。似乎这是个很好的方法。不过很遗憾在系统为4.x的不同设备里测试发现都不成功,不是没有mEditor变量就是mEditor返回null。看来这个Editor在不同的厂商也有不同的实现,google也把这个类标为hide。
又仔细看了看TextView源码,发现setTextIsSelectable顺序调用了以下几个函数
setFocusableInTouchMode(true);
setFocusable(true);
setClickable(true);
setLongClickable(true);
setMovementMethod( ArrowKeyMovementMethod.getInstance());
setText(tv.getText(),BufferType.SPANNABLE );
在v4、v8系统测试顺利调出拷贝、粘帖功能。
分享到:
相关推荐
安卓源码包 UI布局 textView SQLSEVER&安卓 Tab选项卡Android例子源码 33个合集: [四次元]Android ViewPager Fragment实现选项卡.rar [四次元]Android 操作数据库实例.zip [四次元]android 通过jdts.jar 连接SQL...
### Android TextView 支持CSS样式详解 #### 一、引言 在Android开发过程中,为了增强界面的表现力和可维护性,开发者常常需要利用到HTML和CSS的技术来丰富`TextView`的内容展示。虽然原生的Android SDK并没有直接...
支持链式操作 vq id R id TextView1 text "I find hello world" ; vq id R id button1 text "find it " clicked this "onClickMethod" ; vq id R id imageView1 image android R ...
在Android开发中,有时我们需要在TextView中展示动态的GIF图像,而系统默认的TextView并不支持直接播放GIF。为了实现这一功能,我们需要自定义一个TextView,并通过一系列技术手段来处理GIF文件。以下是如何在自定义...
本教程将详细讲解如何自定义一个TextView来支持第三方字体库,以隶书字体为例,帮助你创建独特的用户界面。 首先,我们需要了解Android系统默认只提供了一部分基本的字体,如宋体、黑体等,如果想要使用如隶书这样...
*支持Textview设置富文本点击 *设置Textview 中部分字设置可以点击、变色,设置setMovementMethod(LinkMovementMethod.getInstance())后滑动与Textview局部点击冲突...都已经解决. *解决点击空白区域依然有点击事件 ...
在Android开发中,实现TextView的上下滚动效果可以让信息在有限的空间内持续展示,提升用户体验。以下将详细讲解如何实现这一功能。 首先,我们要明白TextView是Android SDK中的一个基础组件,用于显示单行或多行...
支持TextView默认支持的所有标签,支持自定义,取代安卓默认的Html.TagHandlerHtml标签处理程序支持TextView默认支持的所有标签,支持自定义,取代安卓默认的Html.TagHandler特性支持TextView默认支持的标签支持...
在Android开发中,TextView是用于显示文本的基本组件,但原生的TextView并不支持直接显示GIF动图。然而,随着用户界面的需求日益多样化,开发者常常需要在文本中插入图片,甚至是动态的GIF图片,来增强信息的表达力...
在Android开发中,`TextView` 是一个非常基础且重要的组件,用于显示文本。然而,在实际应用中,我们可能会遇到`TextView`默认带有上下边距的问题,这可能不符合我们的设计需求或者影响界面布局的美观性。标题"安卓...
`TextView`默认并不支持直接显示GIF动画,因此需要通过一些特殊的方式来实现这一功能。本篇将详细介绍如何在`Android TextView`中显示GIF动态图片。 首先,我们需要理解`TextView`的基本工作原理。`TextView`是...
本资源“安卓textView相关-支持放大缩小的TextView使用.rar”似乎包含了一个定制的TextView实现,允许用户放大和缩小文本,从而提高用户体验,特别是对于阅读大量文本的应用场景。 TextView的默认行为并不支持直接...
在Android开发中,TextView是一个非常常见的控件,用于显示单行或多行文本。然而,TextView不仅可以展示纯文本,还可以处理HTML格式的数据,这样我们就可以在应用中实现丰富的文本排版,包括字体、颜色、链接、图片...
`android:rotation`属性是在API Level 11(Android 3.0, Honeycomb)引入的,所以如果你需要支持更低版本的Android系统,你需要使用`android.support.v4.view.ViewPropertyAnimator`或者自定义View来实现类似的效果...
虽然描述中提到“不推荐-改用新的textview android:font属性”,这可能意味着随着 Android 系统的发展,原生的 TextView 已经支持了更丰富的字体设置,包括 Google Fonts。但如果你的应用需要特定的 Google 或 ...
支持TextView默认支持的标签 支持自定义标签,接口类似Html.TagHandler 1 自定义标签: /** * 解析哈哈哈 */ public class SpanTagHandler implements HtmlTagHandler.TagHandler { private String fontColor =...
在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在界面设计中扮演着重要的角色。为了使TextView更具交互性,我们常常需要根据用户操作或特定条件来改变其显示状态,比如选中、聚焦或者按下等。在...
在Android开发中,TextView是用于显示单行或多行文本的常用组件。当需要在TextView中嵌入超链接并实现点击跳转时,开发者通常会利用Android的`TextView`特性和`Linkify`类来完成这一功能。下面我们将详细介绍如何...
在Android开发中,TextView是用于显示文本的基本组件。在某些设计需求中,我们可能需要让TextView的文字呈现旋转状态,比如创建一个垂直显示的标题或者实现某种动态效果。本篇文章将详细探讨如何实现“旋转TextView...
4. **动画效果**:高级TextView可能支持各种动画效果,如淡入淡出、滚动文本、闪烁等。这可以通过Android的Animation框架或属性动画API实现。 5. **可点击事件**:TextView不仅可以显示文本,还可以响应用户的触摸...