티스토리 뷰



EditText 의 Touch한 글자에 Selection 주기

안드로이드 기본적으로 이미 있지만 수동으로 해주려면 이렇게 하면된다.


mEditText.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {


switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

Layout layout = ((EditText)v).getLayout();

float x = event.getX() + ((EditText)v).getScrollX();

int offset = layout.getOffsetForHorizontal(0, x);

if(offset > 0){

if(x > layout.getLineMax(0))

((EditText)v).setSelection(offset);

else

((EditText)v).setSelection(offset - 1);

}

break;

}

return true;

}

}); 


댓글