前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >webview长按复制_android studio点击按钮显示文本

webview长按复制_android studio点击按钮显示文本

作者头像
全栈程序员站长
发布2022-11-11 12:55:07
2.1K0
发布2022-11-11 12:55:07
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

public class NewTextView extends EditText {

public NewTextView(Context context) {

super(context);

// TODO Auto-generated constructor stub

}

public NewTextView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

}

public NewTextView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

// TODO Auto-generated constructor stub

}

@Override

protected boolean getDefaultEditable() {//禁止EditText被编辑

return false;

}

}

上面很关键的一个方法是getDefaultEditable(), return false;即禁止EditText被编辑,变成了不可编辑的EditText, 但同时具有EditText的长按复制功能. 更进一步的,如果查看EditText源码, 就发现源码中有一个方法protected void onCreateContextMenu(ContextMenu menu)

控制了EditText长按弹出的上下文菜单, 可以自定义这个方法且实现为空protected void onCreateContextMenu(ContextMenu menu){ }

然后在onTouchEvent事件中拦截处理自定义的点按事件, 弹出自定义的菜单.

原理如上, 更直白简单的方法是直接在xml中使用一个EditText, 并且将属性设置为 android:editable=”false” .

2,使用OnLongClickListener

直接使用TextView, 然后在代码里给TextView添加OnLongClickListener事件,长按时弹出自定义 “复制” 菜单(比如结合 PopupWindow做弹出菜单). 点击”复制” 就去获取TextView的内容.

当然, 这里只是获取内容, 如何将内容放入粘贴管理器还需要一个ClipboardManager 对象.它负责管理复制后粘贴的这件事.

ClipboardManager cmb = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);

cmb.setText(content.trim()); //将内容放入粘贴管理器,在别的地方长按选择”粘贴”即可

cm.getText();//获取粘贴信息

3,使用setTextIsSelectable()方法

代码中直接对TextView使用setTextIsSelectable()方法,将TextView设置成可点按选择的即可.

TextView tv = new TextView(context);

tv.setTextIsSelectable(true);

上面就是常见的长按文本信息弹出”复制”菜单的一些方法小结了,希望对大家有所帮助.

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月29日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档