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文件中这样使用

android:id="@+id/ddd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="禁止复制粘贴" />

更多相关文章

  1. jxl实用技巧
  2. 解析xml数据
  3. 图片 缓存
  4. Android录音,拍照,摄像
  5. Android(安卓)性能优化(六)——资源文件的存放
  6. Android实现手势检测
  7. Android(安卓)SearchView 使用示例
  8. Android中的人机交互技术
  9. Qt for Android程序沉浸式启动页面(去除标题栏、去除黑屏、保留后

随机推荐

  1. 监测Android Market是否被下过
  2. Android实现体重测量仪的源码
  3. android之【本地通知Notification】
  4. android 重力感应
  5. Android ProgressBar example
  6. android Manifest.xml选项
  7. Android Messenger IPC 通信
  8. Follow up to “Android graphics true f
  9. Accessing the internal calendar databa
  10. Android程序调试时生成main.out.xml文件,