【转】Android TextView支持拷贝&粘帖 textIsSelectable
来源:互联网 发布:开源数据交换平台架构 编辑:程序博客网 时间:2024/05/22 11:40
http://droidwolf.iteye.com/blog/1767800
让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系统测试顺利调出拷贝、粘帖功能。
0 0
- 【转】Android TextView支持拷贝&粘帖 textIsSelectable
- Android TextView支持拷贝&粘帖 textIsSelectable
- Android TextView支持拷贝&粘帖 textIsSelectable
- TextView支持拷贝&粘帖
- TextView中android:textIsSelectable属性的坑
- android:textIsSelectable
- android TextView中ClickableSpan与文本自由复制(TextIsSelectable)冲突问题
- TextView的textIsSelectable属性和setMovementMethod()
- TextView的textIsSelectable属性和setMovementMethod()
- TextView中ClickableSpan与文本自由复制(TextIsSelectable)冲突问题
- Android TextView 支持的HTML标签
- Android TextView 支持的HTML标签
- Android TextView 支持的HTML标签
- Android TextView 支持的HTML标签【转载】
- Android控件之TextView支持html
- Android控件之TextView支持图片
- android TextView 支持自定义字体和属性
- Android TextView 支持BBCode的显示
- android在项目中使用百度地图
- eclipse检测不到手机
- 空指针异常错误集
- Android stutio使用故障
- 如何在quicksettings中增加一个新的buttons
- 【转】Android TextView支持拷贝&粘帖 textIsSelectable
- 杭电ACM 1012 u Calculate e java
- Unity3D 学习笔记3——了解U3D引擎的操作面板和各种工具
- 设置popWindow背景变暗
- Android 之 下拉框(Spinner)的使用
- android中WebView的自适应
- android获取当前日期及具体值
- WebView.loadUrl方法弹出外部浏览器的解决办法
- MATLAB杂记