Android TextView长按复制实现,Android复制文本,Selectable

 代码调用系统复制粘贴板

              //获取剪贴板管理器:ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
// 创建普通字符型ClipDataClipData mClipData = ClipData.newPlainText("Label", "这里是要复制的文字");
// 将ClipData内容放到系统剪贴板里。cm.setPrimaryClip(mClipData);

自定义textview

public class SelectableTextView extends AppCompatTextView {private SelectableTextHelper mSelectableTextHelper;private int selectedColor;private int cursorHandleColor;public SelectableTextView(Context context) {super(context);}public SelectableTextView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);init(context,attrs);}public SelectableTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init(context,attrs);}private void init(Context context,AttributeSet attrs){TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.SelectableTextView);selectedColor = ta.getColor(R.styleable.SelectableTextView_selected_color, ContextCompat.getColor(context,R.color.colorAccent));cursorHandleColor = ta.getColor(R.styleable.SelectableTextView_cursor_handle_color, ContextCompat.getColor(context,R.color.colorAccent));mSelectableTextHelper = new SelectableTextHelper.Builder(this).setSelectedColor(selectedColor).setCursorHandleSizeInDp(20).setCursorHandleColor(cursorHandleColor).build();}public void setSelectedColor(int selectedColor) {this.selectedColor = selectedColor;}public void setCursorHandleColor(int cursorHandleColor) {this.cursorHandleColor = cursorHandleColor;}}

layout文件应用

<com.wulee.selectabletext.SelectableTextViewandroid:id="@+id/tv_test"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="16dp"android:lineSpacingExtra="3dp"android:text="@string/long_text"android:textSize="16sp"app:selected_color="@color/holo_orange_dark"app:cursor_handle_color="@color/holo_blue_bright"/>

demo连接:安卓长按复制文本demo-Android文档类资源-CSDN下载 

bug交流:qq1085220040 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

find命令 -- 之查找指定时间内修改过的文件

比如我们要查找linux下指定时间内做过改动的文件&#xff0c;我们可以用find命令&#xff0c;其实find命令的功能十分强大&#xff0c;下面我们通过几个简单的例子来学习下find命令的简单用法&#xff1a;find /opt -iname "*" -atime 1 -type f找出 /opt 下一天前访…

Fiddler 学习笔记

Fiddler是啥&#xff1f; 百度百科里是这样介绍它的 - “Fiddler是一个web调试代理。它能够记录所有客户端和服务器间的http请求&#xff0c;允许你监视&#xff0c;设置断点&#xff0c;甚至修改输入输出数据&#xff0c;fiddler包含了一个强大的基于事件脚本的子系统&#xf…

typescript 动态给class添加方法

interface String {logit(): void; }String.prototype.logit function () {console.log(this); }let a "string"; a.logit();

Android textview 获取url,获取电话号码

textview添加autoLink属性即可<TextViewandroid:id"id/totwo"android:layout_width"wrap_content"android:layout_height"wrap_content"android:background"null"android:text"Hello World!" /> 获取urlandroid:autoL…

LR 安装与破解

LoadRunner 11 安装及破解 注意事项&#xff1a; 安装前&#xff0c;把所有的杀毒软件和防火墙关闭。 若以前安装过LoadRunner,则将其卸载。 安装路径不要带中文字符。 如果系统为WIN7&#xff0c;旗舰版才能安装。 安装完毕&#xff0c;需破解。 一&#xff0e; 下载 在HP的官…

mongoose 在数组中添加数据

主要使用$push PersonModel.update({ _id: person._id }, { $push: { friends: friend } } )

从零开始学习springBoot2

简单修改一下: 创建一个包com.kfit.test.web&#xff0c;新建类HelloController 修改 运行访问http://127.0.0.1:8080/得到相同的结果 转载于:https://www.cnblogs.com/zhengzhouyang/p/7680482.html

Android api对应版本号,获取当前手机Android版本,获取APP版本号,版本名称

String androidID Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID); mDevID TextUtils.isEmpty(androidID) ? android.os.Build.SERIAL : androidID; Android API Level对应Android版本一览表 2018年01月03日 11:53:43 API LevelAndroid版本…

如何调整压力测试工具

如何调整压力测试工具 如何调整压力测试工具 您是否曾经不得不对应用程序进行压力测试&#xff0c;而最后却发现不明白结果表明什么意义?也许问题不是出在应用程序上。也许问题出在配置压力测试工具的方式上。如果您曾经经历过这种情况&#xff0c;或者正要进行压力测试&#…

vue jsx 使用 自定义组件

Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML。然而在一些场景中&#xff0c;你真的需要 JavaScript 的完全编程的能力&#xff0c;这时你可以用 render 函数&#xff0c;它比 template 更接近编译器。 我这里&#xff0c;举一个简单的例子。在iviews中使用自定义D…

js 异步请求

1、异步请求的方法&#xff1a;iframe、script、XMLHttpRequest、comet&#xff08;服务器端发起&#xff09; 2、使用XHR发起POST请求 //1 创建XHR对象 var xhr function (){   if(window.ActiveXObject){     return new ActiveXObject("Microsoft.XMLHTTP"…

Android activity跳转动画,6种activity进入动画

源码链接&#xff1a;https://pan.baidu.com/s/1jAKMNUuCdWVxUm2BUCzL2g 添加动画anim 新activity进入方式 默认是右往左进入动画 1、下往上推进入动画——100与-100互换即可——上往下推进入动画 in: <?xml version"1.0" encoding"utf-8"?>&…

Jmeter日志输出和日志级别设置

Jmeter运行出现问题可以通过调整jmeter的日志级别定位问题&#xff0c;但运行测试时建议关闭jmeter日志&#xff0c;jmeter打印日志耗费系统性能。 Jmeter日志默认存放在%JMeter_HOME%\bin目录&#xff0c;文件名通常是JMeter.log。日志记录与JMeter本身运行有关的日志信息。 J…

exposed beyond app through Intent.getData(),或FileUriExposedException

Android7.0及以上版本拍照报错 exposed beyond app through Intent.getData()&#xff0c;或FileUriExposedException 解决方法&#xff1a; 在Application的onCreat()方法中添加以下代码&#xff1a; // android 7.0系统解决拍照的问题 StrictMode.VmPolicy.Builder builde…

未获取root手机抓包方法

没有root的android不能使用类似shark的APP抓包&#xff0c;以下两个不root抓包的方法供参考 未获取root的Android手机抓包方法1&#xff1a;连接PC开启的WIFI PC开启WIFI热点共享&#xff0c;然后手机连接到此虚拟WIFI&#xff0c;pc上使用wireshark选择对应网卡抓包。 win7以上…