내 블로그 목록

2018년 8월 13일 월요일

[Android] 버튼 클릭 시 터치 이벤트 발생

[해야할 일]

  1. activity_main.xml에서 버튼 생성
  2. java 폴더에서 MyTouchListener.java 파일 생성
  3. Mainactivity.java에서 사용할 터치 이벤트 명시


(1)activity_main.xml에서 버튼 생성



(2)java 폴더에서 MyTouchListener.java 파일 생성



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.heybaby.myapp0814;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
public class MyTouchListener implements View.OnTouchListener {
   @Override
   public boolean onTouch(View view, MotionEvent motionEvent) {
       Log.d( "TouchEvent", "터치이벤트 발생 -> " +  motionEvent.getAction());
       return false;
   }
}




(3)Mainactivity.java에서 사용할 터치 이벤트 명시


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
package com.heybaby.myapp0814;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnTouchListener{
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       //1. 이벤트를 적용할 위젯 캐스팅_터치이벤트(리소스로 정의되어 있는 위젯의 객체를 반환)
       Button btn = findViewById(R.id.button);
       //2. 이벤트 터치 리스너 객체 생성
       MyTouchListener touchListener = new MyTouchListener();
       //3. View에 이벤트 리스너를 장착한다(적용)
       btn.setOnTouchListener(new View.OnTouchListener(){
           @Override
           public boolean onTouch(View view, MotionEvent motionEvent) {
               Log.d( "anymouse TouchEvent", "메인 액티비티 익명클래스 터치이벤트 발생 -> " +  motionEvent.getAction());
               return false;
           }
       });
   }
   @Override
   public boolean onTouch(View view, MotionEvent motionEvent) {
       Log.d( "MainActivity TouchEvent", "메인 액티비티 터치이벤트 발생 -> " +  motionEvent.getAction());
       return false;
   }
}




[결과]

버튼 클릭 시


댓글 없음:

댓글 쓰기