화면에 여러 개의 버튼이 있습니다. 모두 같은 View.OnTouchListener를 사용합니다.버튼이 터치 이벤트를 수신하지 못하도록하고 Android에서 "터치 인"을 감지합니다.
내가 뭘하고 있는지 알아 보려면 내가 그 중 하나를 탭하면 ACTION_DOWN이되고, 움직이면 버튼 영역 바깥으로 이동해도 ACTION_MOVE가됩니다. 손을 뻗어 안으로 들어가면 아무것도 얻지 못합니다.
는 내가 원하는 "이벤트 전송을 중지", "이 지역 중 이벤트 전송을 중지"말하거나하는 방법이다 (그리고 이벤트가 지역 내에서인지 아닌지 내가 감지)
이 내 OnTouchListener입니다 :
당신의 설명을 바탕으로 는OnTouchListener touchListenerPad=new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("PadControl", "event= "+event.getAction());
if(v==up)
{
Log.d("PadControl", "btn= up");
return false;
}
if(v==down)
{
Log.d("PadControl", "btn= down");
return false;
}
if(v==right)
{
Log.d("PadControl", "btn= right");
return false;
}
if(v==left)
{
Log.d("PadControl", "btn= left");
return false;
}
return false;
}
};
up.setOnTouchListener(touchListenerPad);
down.setOnTouchListener(touchListenerPad);
right.setOnTouchListener(touchListenerPad);
left.setOnTouchListener(touchListenerPad);
onTouch 대신 onClick을 사용하지 않는 이유는 무엇입니까? –
왜냐하면 onClick (View v)은 탭을 눌렀을 때만 트리거됩니다. –
터치를 감지하는 기능을 버튼 내부 또는 외부에 생성 하시겠습니까? –