안 드 로 이 드 가 손가락 터치 위 치 를 가 져 오 는 방법
핸드폰 화면 이벤트 처리 방법 onTouchEvent.이 방법 은 View 클래스 에서 정의 되 고 모든 View 하위 클래스 가 이 방법 을 다시 썼 습 니 다.응용 프로그램 은 이 방법 을 통 해 핸드폰 화면의 터치 이 벤트 를 처리 할 수 있 습 니 다.
그 원형 은:
public boolean onTouchEvent(MotionEvent event)
매개 변수 이벤트:매개 변수 이 벤트 는 핸드폰 화면 터치 이벤트 패키지 클래스 의 대상 으로 이 이벤트 의 모든 정 보 를 봉 인 했 습 니 다.예 를 들 어 터치 의 위치,터치 의 유형 과 터치 의 시간 등 입 니 다.이 대상 은 사용자 가 휴대 전화 화면 을 만 질 때 만들어 진다.반환 값:이 방법의 반환 값 메커니즘 은 키보드 응답 이벤트 와 같 습 니 다.마찬가지 로 이 사건 을 완전 하 게 처리 하고 다른 반전 방법 이 다시 처리 되 기 를 원 하지 않 을 때 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.
이 방법 은 이전에 소개 한 방법 처럼 한 가지 사건 만 처리 하 는 것 이 아니 라 일반적인 상황 에서 다음 과 같은 세 가지 상황 의 사건 은 모두 onTouchEvent 방법 으로 처리 되 지만 세 가지 상황 에서 의 동작 값 이 다르다.
화면 이 눌 림:화면 이 눌 렸 을 때 이 방법 으로 이 벤트 를 처리 합 니 다.이때 MotionEvent.getAction()의 값 은 MotionEvent.ACTION 입 니 다.DOWN,화면 이 눌 린 이 벤트 를 응용 프로그램 에서 처리 해 야 한다 면 이 리 셋 방법 을 다시 한 다음 방법 에서 동작 을 판단 하면 된다.
화면 이 들 립 니 다:터치 펜 이 화면 을 떠 날 때 발생 하 는 이벤트 입 니 다.이 사건 역시 onTouch Event 방법 으로 포착 한 다음 방법 에서 동작 판단 을 해 야 합 니 다.MotionEvent.getAction()의 값 이 MotionEvent.ACTION 일 때UP 시 화면 이 올 라 간 이벤트 임 을 표시 합 니 다.
화면 에서 드래그:이 방법 은 터치 펜 이 화면 에서 미 끄 러 지 는 사건 도 처리 합 니 다.동작 값 이 MotionEvent.getAction()방법 으로 동작 값 이 MotionEvent.ACTION 인지 판단 합 니 다.MOVE 재 처리.
예제 코드 는 다음 과 같다.
MainActivity.java
package com.example.touchpostionshow;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.EditText;
public class MainActivity extends Activity {
public EditText pox,poY,condition;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pox = (EditText)findViewById(R.id.editText1);
poY = (EditText)findViewById(R.id.editText2);
condition = (EditText)findViewById(R.id.editText3);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
float x = event.getX();
float y = event.getY();
try
{
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN: pox.setText(""+x);poY.setText(""+y);condition.setText("down");break;
case MotionEvent.ACTION_UP:pox.setText(""+x);poY.setText(""+y);condition.setText("up");break;
case MotionEvent.ACTION_MOVE:pox.setText(""+x);poY.setText(""+y);condition.setText("move");break;
}
return true;
}
catch(Exception e)
{
Log.v("touch", e.toString());
return false;
}
}
}
XML 파일 에 좌 표를 표시 할 X Y 와 손가락 을 누 르 고 들 어 올 릴 지,이동 할 지 세 개의 편집 텍스트 상 자 를 추가 합 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.