대표적인 이벤트 종류
이벤트 |
설명 |
Touch Event |
스마트폰 화면을 손가락으로 누를 때 발생한다. |
Key Event |
키패드아 하드웨어 버튼을 이용해서 입력시에 발생한다. |
Gesture Event |
터치 이벤트 중에서 일정 패턴을 만들어 내는 이벤트 |
Focus |
뷰마다 순서대로 주어지는 포커스 |
화면 방향 변경 |
스마트폰을 가로/세로로 기울일때 발생하는 이벤트 |
1. 터치 이벤트(Touch Event)
터치 이벤트는 사용자가 손가락으로 화면을 터치할 때마다 발생하는 이벤트이다.
2. 제스처 이벤트 (Gesture Event)
터치 이벤트 중에서 일정한 패턴을 제스처 라고 한다. 다음은 제스처 이벤트를 통해 처리할 수 있는 이벤트 이다.
이벤트 |
설명 |
onDown() |
화면이 눌렸을 경우 |
onShowPress() |
화면이 눌렸다 떼어지는 경우 |
onSingleTapUp() |
화면이 한 손가락으로 눌렸다 떼어지는 경우 |
onSingleTapConfirmed() |
화면이 한 손가락으로 눌려지는 경우 |
onDoubleTap() |
화면이 두 손가락으로 눌려지는 경우 |
ondoubleTapEvent() |
화면이 두 손가락으로 눌려진 상태에서 떼거나 이동하는 경우 |
onScroll() |
화면이 눌린 채 일정한 속도와 방향으로 움직여서 떼는 경우 |
onFling() |
화면이 눌린 채 가속도를 붙여 손가락을 움직여서 떼는 경우 |
onLongPress() |
화면을 손가락으로 오래 누르는 경우 |
GestureDetector mGestures = null; // 제스처 이벤트를 처리할 객체를 담을 변수 선언
/* 터치 이벤트 정의 */
public boolean onTouchEvent(MotionEvent event){
if(mGestures != null){
return mGestures.onTouchEvent(event);
}else{
return super.onTouchEvent(event);
}
}
public void onCreate(Bundle savedInstanceState){
/* onFling, onScroll 이벤트를 처리할 제스처 객체를 정의한다. */
mGestures = new GestureDetector(
new GestureDetector.SimpleOnGestureListener(){
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){
// Fling 이벤트 처리용 코드
return super.onFling(e1, e2, velocityX, velocityY);
}
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY){
// Scroll 이벤트 처리용 코드
return super.onScroll(e1, e2, distanceX, distanceY);
}
}
);
}
3. Key
키코드 |
설명 |
KEYCODE_DPAD_LEFT |
왼쪽 화살표 |
KEYCODE_DPAD_RIGHT |
오른쪽 화살표 |
KEYCODE_DPAD_UP |
위쪽 화살표 |
KEYCODE_DPAD_DOWN |
아래쪽 화살표 |
KEYCODE_PAD_CENTER |
중앙 버튼 |
KEYCODE_CALL |
통화 버튼 |
KEYCODE_ENDCALL |
통화 종료 버튼 |
KEYCODE_HONE |
홈 버튼 |
KEYCODE_BACK |
뒤로 가기 버튼 |
KEYCODE_VOLUME_UP |
볼륨 증가 버튼 |
KEYCODE_VOLUME_DOWN |
볼륨 감소 버튼 |
KEYCODE_0 ~ KEYCODE_9 |
숫자 0부터 9까지 키값 |
KEYCODE_A ~ KEYCODE_Z |
알파벳 A부터 Z까지 키값 |
4. Focus
키 입력 이벤트는 포커스를 가진 뷰에게 전달된다. 포커스는 화면에 보이는 뷰 중 하나가 된다.
5. 단말기 방향 설정
'프로그램 > Android' 카테고리의 다른 글
android.os.NetworkOnMainThreadException 에러 (0) | 2014.10.01 |
---|---|
Notification 에서 Activity 실행시 중복실행 막기 (0) | 2014.09.17 |
AndroidManifest.xml file missing (0) | 2014.03.20 |
첫번째 안드로이드 앱 HelloWorld (0) | 2014.03.19 |
안드로이드 앱 타이틀바 감추기 (0) | 2014.03.18 |