이 코드에 무슨 문제가 있습니까? 화면을 아래에서 위로 swype 할 때 "아래"라는 텍스트를 쓰고 다른 쪽을 원하겠습니다.하지만 에뮬레이터에서는 아무 것도 변경되지 않습니다. 무엇이 문제입니까?onTouchEvent를 사용하는 방법?
public class Draw extends View{
int ratioX = 50;
int ratioY = 350;
float dx = 0;
float dy = 0;
int newX;
int newY;
String dir="Hello";
public Draw(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public boolean onTouchEvent(MotionEvent event){
float touchX = 0;
float touchY = 0;
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
touchX = event.getX();
touchY = event.getY();
return true;
case MotionEvent.ACTION_UP:
dx = touchX - event.getX();
dy = touchY - event.getY();
if(Math.abs(dy) > Math.abs(dx)){
if(dy > 0){
dir = "DOWN";
}
else{
dir = "UP";
}
}
else{
if(dx > 0){
dir = "RIGHT";
}
else{
dir = "LEFT";
}
}
}
return true;
}
public void onDraw(Canvas c){
//Rect myRect = new Rect();
//myRect.set(ratioX,c.getHeight()/8,ratioY,c.getWidth()/8);
Paint p = new Paint();
p.setStyle(Paint.Style.FILL);
p.setColor(Color.BLACK);
c.drawPaint(p);
//p.setColor(Color.WHITE);
//c.drawRect(myRect, p);
p.setColor(Color.WHITE);
p.setTextSize(18);
c.drawText(dir, 200, 360, p);
}
} 나는 화면을 swype 때
아무런 반응이 없습니다! 또는 다른 방법을 사용해야합니까?
onTouch onDraw가 실행됩니까? 먼저 dir의 값이 무엇인지 확인한 다음 스 와이프 후 onDraw가 실행되는지 여부를 확인합니다. – AbhinavRanjan
예, GestureDetector – pskink