Aandroid开发过程中经常会用到点击屏幕然后做出某种反映,那么到底如何实现点击屏幕的某一位置,或者某一图片来实现某种动作呢?
Android系统支持的触屏事件有按下,弹起,移动,双击,长按,滑动。其实要实现这些时间只要我们重写view的方法onTouchEvent即可
按下(ACTION_DOWN):顾名思义按下指当收触碰到屏幕的一霎那即为DOWN。
下面我来举例告诉大家,如何实现按下的时候实现某种操作。
class MyView extends SurfaceView implements SurfaceHolder.Callback , OnTouchListener, OnGestureListener {
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
holder = this.getHolder();
holder.addCallback(this);
myThread = new MyThread(holder);//创建一个绘图线程
setFocusable(true);//这里非常重要设置焦点为true默认为false如果不设置触屏事件将无法实现
gesture = new GestureDetector(this);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
System.out.println("onTouch action="+event.getAction());
System.out.println("x ="+event.getX()+";y="+event.getY());
n++;
if(event.getAction()==MotionEvent.ACTION_UP){
if(event.getX()>10 && event.getX()<10+leftBitmap[0].getHeight()*3/2){
if(event.getY()>height-leftBitmap[0].getHeight()*3/2 && event.getY()<height+leftBitmap[0].getHeight()){
System.out.println("left");
leftn++;
}
}
}
return true;
}