大家都知道 系統的EditText長按都是有 複製、粘貼等等的Menu出現 如果想去除
代碼如下:
public class TextPage extends EditText{ private int off; public TextPage(Context context, AttributeSet attributeSet) { super(context, attributeSet); } public TextPage(Context context) { super(context); initView(); } private void initView() { setGravity(Gravity.TOP); setBackgroundColor(Color.WHITE); } @Override protected void onCreateContextMenu(ContextMenu menu) { //阻止長按彈出Menu菜單 } @Override public boolean getDefaultEditable() { return false; } @Override public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); Layout layout = getLayout(); int line = 0; switch (action) { case MotionEvent.ACTION_DOWN: line = layout.getLineForVertical(getScrollY() + (int)event.getY()); off = layout.getOffsetForHorizontal(line, (int)event.getX()); Selection.setSelection(getEditableText(), off); break; case MotionEvent.ACTION_MOVE: case MotionEvent.ACTION_UP: line = layout.getLineForVertical(getScrollY() + (int)event.getY()); int curOff = layout.getOffsetForHorizontal(line, (int)event.getX()); Selection.setSelection(getEditableText(), off, curOff); break; } return true; }}
如果有別的什麼需求說不定也會用到的。
轉載:http://chroya.iteye.com/blog/753634