Android游戏开发学习(6)--处理VIew触屏MOVE和UP事件
在大家设置完事件处理之后,自己去测试时候发现点击没有任何效果。是你没有设置当前要操作的VIew没有获得焦点,所以要在你的构造函数中加入
setFocusable(true);
如果你这是处理的是触屏事件,你又会发现你自己实现的这个View只支持DOWN按下事件,不知道拖动和UP事件,
需要在VIew的构造函数中加入支持MOVE和UP事件
setClickable(true);
也可以在onTouchEvent中返回 return true;
默认要实现的
@Overridepublic boolean onTouchEvent(MotionEvent event) { Log.i("触屏事件", "事件:"+event.getAction()); return super.onTouchEvent(event);}
解决办法一
public class GameSurfaceView extends SurfaceView implements Runnable ,SurfaceHolder.Callback{public GameSurfaceView(Context context) {super(context);setFocusable(true);//设置可以处理按下以后的事件setClickable(true);}@Overridepublic boolean onTouchEvent(MotionEvent event) {return super.onTouchEvent(event);}}
解决办法二
public class GameSurfaceView extends SurfaceView implements Runnable ,SurfaceHolder.Callback{public GameSurfaceView(Context context) {super(context);}@Overridepublic boolean onTouchEvent(MotionEvent event) {return true;}}
页:
[1]