반갑습니다. 기버홀딩스입니다.
오늘은 휴대폰 화면을 터치 했을 때 감지 할 수 있는 함수 dispatchTouchEvent에
대해 설명할려합니다.
1. 메인 액티비티 onCreate 밖의 영역에서 dispatchTouchEvent를 @Override 해줍니다.
2. event.getAction(); 을 int userAction에 담아 줍니다.
3. userAction 상태에 따라 switch case 문을 이용해 케이스를 나누어 줍니다.
여기서는 MotionEvent.ACTION_DOWN, MotionEvent.ACTION_UP으로 2가지의 케이스로
나누었으나 필요에따라 MotionEvent.ACTION_MOVE, MotionEvent.ACTION_SCROLL 등 여러 케이스로
나눌수 있습니다.
MotionEvent.ACTION_MOVE: 휴대폰에 손을 떼지 않고 움직일 경우의 MotionEvent
MotionEvent.ACTION_SCROLL: 휴대폰을 스크롤 할 때의 MotionEvent
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
int userAction = event.getAction();
switch (userAction) {
case MotionEvent.ACTION_DOWN:
Log.i(TAG, "화면 누름");
// 화면을 눌렀을 때 필요한 코드를 넣어주시면 됩니다.
break;
case MotionEvent.ACTION_UP:
Log.i(TAG, "화면에서 손 뗌");
// 화면에서 손을 뗐을 때 필요한 코드를 넣어주시면 됩니다.
break;
default:
break;
}
return super.dispatchTouchEvent(event);
}
}
|
cs |
수고하셨습니다. 이상입니다.
오늘도 좋은하루되세요😊
