Android EditText禁止复制粘贴
1,自定义EditText
package com.example.ui;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText; @SuppressLint("NewApi")
public class NoMenuEditText extends EditText {
private final Context context; /**
* This is a replacement method for the base TextView class' method of the
* same name. This method is used in hidden class android.widget.Editor to
* determine whether the PASTE/REPLACE popup appears when triggered from the
* text insertion handle. Returning false forces this window to never
* appear.
*
* @return false
*/
boolean canPaste() {
return false;
} /**
* This is a replacement method for the base TextView class' method of the
* same name. This method is used in hidden class android.widget.Editor to
* determine whether the PASTE/REPLACE popup appears when triggered from the
* text insertion handle. Returning false forces this window to never
* appear.
*
* @return false
*/
@Override
public boolean isSuggestionsEnabled() {
return false;
} public NoMenuEditText(Context context) {
super(context);
this.context = context;
init();
} public NoMenuEditText(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
init();
} public NoMenuEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
this.context = context;
init();
} private void init() {
this.setCustomSelectionActionModeCallback(new ActionModeCallbackInterceptor());
this.setLongClickable(false);
} /**
* Prevents the action bar (top horizontal bar with cut, copy, paste, etc.)
* from appearing by intercepting the callback that would cause it to be
* created, and returning false.
*/
private class ActionModeCallbackInterceptor implements ActionMode.Callback {
private final String TAG = NoMenuEditText.class.getSimpleName(); public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
} public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
} public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
} public void onDestroyActionMode(ActionMode mode) {
}
}
}
2,在layout.xml文件中这样使用
<com.example.ui.NoMenuEditText
android:id="@+id/ddd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="禁止复制粘贴" />
Android EditText禁止复制粘贴的更多相关文章
- android EditText禁止复制粘贴完整代码
<!-- 定义基础布局LinearLayout --> <LinearLayout xmlns:android="http://schemas.android.com/ap ...
- Android EditText 取消复制粘贴功能,取消横向全屏编辑功能(一)
在做一些安全性的软件时候常常要考虑取消 EditText 上的复制粘贴功能以确保安全性.下面就记录了这个方法: 首先在API-11以下的版本很简单,只需要在Xml布局文件或者用代码把长按属性设置成fa ...
- Android中的复制粘贴
Android中的复制粘贴 The Clipboard Framework 当使用clipboard framework时,把数据放在一个剪切对象(clip object)里,然后这个对象会放在系统的 ...
- [JavaScript] 怎么使用JS禁止复制粘贴
1. 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格键右边的windows键也可以激活这个快捷菜单 <table border oncontextmenu=re ...
- duilib CEditUI 禁止输入中文字符,禁止复制粘贴
1.CEditUI 禁止使用中文输入法 在 CEditUI::DoEvent 函数中,添加代码: if(m_bOnlyEnglishChar && m_pWindow &&am ...
- js禁止复制粘贴
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格 ...
- js 禁止复制粘贴
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格 ...
- Android EditText禁止换行键(回车键enter)
在EditText所在的xml文件中,设置android:singleLine="true", 则可以禁止掉虚拟键盘: maxlength为该EditText的最大输入长度: &l ...
- IE屏蔽鼠标右键、禁止复制粘贴等功能
<body oncontextmenu="return false" onselectstart="return false" ondragstart=& ...
随机推荐
- [BZOJ4556][TJOI2016&&HEOI2016]字符串(二分答案+后缀数组+RMQ+主席树)
4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1360 Solved: 545[S ...
- NOIP2018之前
先过了初赛再说. \(10.17\) 初赛成绩昨天出了,\(89\)的估分莫名多了\(5\)分问题求解第二题改卷老师看错了?,接下来大概是要停课在一中集训一个月备战\(NOIP\),回去第二天就要期中 ...
- tarjan算法+缩点--cojs 908. 校园网
cojs 908. 校园网 ★★ 输入文件:schlnet.in 输出文件:schlnet.out 简单对比时间限制:1 s 内存限制:128 MB USACO/schlnet(译 b ...
- ACM -- 算法小结(六)逆波兰表达式
逆波兰表达式 //问题描述:逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2+3的 //逆波兰表达式法为+ 2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也不必 //用括号改 ...
- hdu 5224 Tom and paper 水题
Tom and paper Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/6 ...
- 如何解决IIS7上传文件大小限制,.NET 上传文件后 找不到目录解决
IIS7 默认文件上传大小是30M,那么超过30M的文件就无法上传了,那么就需要对IIS的配置文件进行修改. 在实际应用中往往会出现上传文件太大,无法上传的情况,那是因为IIS对上传文件大小有限制,I ...
- 快速开发一个自己的微信小程序
一.写在前面 1.为什么要学小程序开发? 对于前端开发而言,微信小程序因为其简单快速.开发成本低.用户流量巨大等特点,也就成了前端开发工程师必会的一个技能. 2.先看看小程序效果 (1)欢迎页 (2) ...
- JS 判断PC、android、ios、微信浏览器
1.通过js userAgent来判断 <h1>判断访问此链接的操作系统</h1> <script> var Agents = new Array("An ...
- CentOS 6.9/7通过yum安装指定版本的PostgreSQL扩展PostGIS
一.安装PostGIS扩展插件(24_10) // 安装EPEL源 # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-rele ...
- Android TextView 显示HTML加图片
TextView显示网络图片,我用android2.3的系统,可以显示图片出来,并且如果图片比较大,应用会卡的现象,肯定是因为使用主线程去获取网络图片造成的,但如果我用android4.0以上的系统运 ...