안드로이드

안드로이드 OnTouchListener로 LongClick 시간 조절하기

알통몬_ 2017. 10. 11. 17:35
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


이번 포스팅에서는 제목처럼 onTouckListener 로 onLongCLick 시간을 조절하는 것처럼

만들어보겠습니다.


간단합니다.

하나의 Handler와 실행할 기능만 있다면 끝입니다.

먼저 Handler를 하나 만들어 줍니다.

1
2
3
4
5
6
7
8
9
10
11
 private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case 100:
                    //원하는 기능 
                    break;
                
            }
        }
    };
cs


그리고 원하는 View 에 OnTouchListener를 줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                switch (motionEvent.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        handler.sendEmptyMessageAtTime(msg, motionEvent.getDownTime() + time);
                        break;
                    case MotionEvent.ACTION_UP:
                    case MotionEvent.ACTION_MOVE:
                        handler.removeMessages(msg);
                        break;
                }
                return false;
            }
        });
cs

msg 에는 정수값을 주면 됩니다.

id 처럼 구분을 위한 용도예요.

time 에는 몇 밀리초 동안 터치를 하고 있어야 기능을 실행시킬 것인지를 설장하는 거기 때문에

원하는 시간을 long 타입으로 넣어주면 됩니다.


이상입니다.




반응형