安卓长按复制_Android长按弹出选项框

安卓长按复制_Android长按弹出选项框android:textIsSelectable=”true”重点写在最前面,只用在textView中加入这个属性就可以满足长按复制了一。网上查了下有两中方式可以实现长按复制粘贴1)使用setTextIsSelectable()方法 代码中直接对TextView使用setTextIsSelectable()方法,将TextView设置成可点按选择的即可. TextViewtv=

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

android:textIsSelectable=”true”
重点写在最前面,只用在textView中加入这个属性就可以满足长按复制了

一。网上查了下有两中方式可以实现长按复制粘贴
1)使用setTextIsSelectable()方法
 代码中直接对TextView使用setTextIsSelectable()方法,将TextView设置成可点按选择的即可.
 

TextView tv = new TextView(context);
                tv.setTextIsSelectable(true);

或者

<TextView
        android:id="@+id/tv1"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:textSize="18sp"
        android:textIsSelectable="true"
        android:gravity="center_vertical"
        android:text="Hello World!"/>

效果图如下,测试手机小米MAX2 android7.0
这里写图片描述
这里写图片描述
这个看起来挺方便的,也自动提示,不需要做什么处理,用户就知道我们的操作


2)使用OnLongClickListener
直接使用TextView, 然后在代码里给TextView添加OnLongClickListener事件,长按时弹出自定义 “复制” 菜单(比如结合 PopupWindow做弹出菜单). 点击”复制” 就去获取TextView的内容.当然, 这里只是获取内容, 如何将内容放入粘贴管理器还需要一个ClipboardManager 对象.它负责管理复制后粘贴的这件事.

 tv1.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                ClipboardManager cmb = (ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
                cmb.setText(tv1.getText().toString().trim()); //将内容放入粘贴管理器,在别的地方长按选择"粘贴"即可
                Toast.makeText(MainActivity.this,"已经复制",Toast.LENGTH_SHORT).show();
                return false;
            }
        });

这个必须主动提示用户,你已经长按复制了,感觉没有第一个方便,所以建议使用第一个

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188996.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月14日 下午11:07
下一篇 2026年4月14日 下午11:13


相关推荐

  • RabbitMq分布式事务解决方案第一篇

    RabbitMq分布式事务解决方案第一篇前言微服务架构下 相比单机事务 一个比较复杂的地方在于 在分布式环境下 面对的是分布式事务 分布式事务整体来说无法严格遵循传统的 ACID4 个特性 而只能根据系统的业务指标 通常满足可用性 和最终一致性 这也是不少互联网产品的实践结果的选择在分布式事务一章中 探讨了有关常用分布式事务的几种解决方案 可以依据自己所在项目的特点 有选择的使用 比如对数据的一致性要求严格而对并发数可容忍的 可以考虑使用 seata 解决 对并发要求高 同时对数据一致性的要求也比较高的 可以考虑使用 rocketMq 事务消息下面要介

    2026年3月20日
    2
  • 保姆级教程,通过GACCode在国内使用Claudecode、Codex!

    保姆级教程,通过GACCode在国内使用Claudecode、Codex!

    2026年3月16日
    2
  • spring整合mybatis时报空指针异常:service注入得不到Mapper接口的实例化对象(已解决)

    spring整合mybatis时报空指针异常:service注入得不到Mapper接口的实例化对象(已解决)解决方法在下边 问题一 mabite 中 Mapper 接口的实例化对象找不到 显示为 NULL 这是我的配置 还有运行时报的错这几个文件都是使用反向工程生成的 应该没有错 运行结果显示 tUserMapper 为 null 问题二 还有 使用 ssm 框架写 web 工程的时候还出过这么一个错 org apache ibatis binding BindingExcep Invalid

    2026年3月16日
    2
  • robots.txt详解[通俗易懂]

    robots.txt详解[通俗易懂]怎样查看robots文件?浏览器输入主域名/robots.txtrobots.txt的作用robots.txt文件规定了搜索引擎抓取工具可以访问网站上的哪些网址,并不禁止搜索引擎将某个网页纳入索引。如果想禁止索引(收录),可以用noindex,或者给网页设置输入密码才能访问(因为如果其他网页通过使用说明性文字指向某个网页,Google在不访问这个网页的情况下仍能将其网址编入索引/收录这个网页)。robots.txt文件主要用于管理流向网站的抓取工具流量,通常用于阻止Google.

    2022年5月1日
    48
  • 利用Python+阿里云实现DDNS(动态域名解析)

    利用Python+阿里云实现DDNS(动态域名解析)引子我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应的IP是可以动态变化的。那这个有什么用呢?比如,在家里的路由器上连着一个raspberrypi(树莓派),上面跑着几个网站,我应该如和在外网环境下访问网站、登陆树莓派的SSH呢?还有,家里…

    2022年6月8日
    40
  • Activity生命周期详解

    Activity生命周期详解在我的 Android 四大组件详解一文中已经对 Activity 的生命周期进行过一个比较详细的介绍 这篇文章我们再来更加深入地介绍 Activity 的生命周期 一 Activity 的生命周期方法如下 onCreate onStart onRestart onResume onPause onStop onDestroy 依次介绍 onCreate 表示 Activity 正在被创建 这是生命周

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号