大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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;
}
});
这个必须主动提示用户,你已经长按复制了,感觉没有第一个方便,所以建议使用第一个
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188996.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...