daikainan 发表于 2013-1-14 18:03:41

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]
查看完整版本: Android游戏开发学习(6)--处理VIew触屏MOVE和UP事件