Android(安卓)EditText禁止复制粘贴
16lz
2021-01-26
1,自定义EditTextpackage 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*/@Overridepublic 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.NoMenuEditTextandroid:id="@+id/ddd"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="禁止复制粘贴" />
更多相关文章
- Android(安卓)log日志输出到文件
- Android(安卓)TabWidget
- 自写登录页面空间水平、垂直居中xml配置文件
- Android(安卓)搜索框自动提示及其保存历史记录
- mtk android settings
- Bitmap转为文件保存
- android apk的更新下载
- Android学习之使用HttpURLConnection下载文件
- android 文件的压缩和解压