4

嗨,我正在http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers的帮助下制作动态壁纸。现在我想在主屏幕上附加触摸检测。即设置好壁纸后,用户可以通过触摸壁纸进行相应的操作。我的源代码如下。它在预览壁纸时工作正常,但在设置壁纸之后就不行了。

class MyEngine extends GLEngine 
{
    MyRenderer renderer;
    AnimationController animationController;
    public MyEngine() 
    {
        super();
        renderer = new MyRenderer();
        setRenderer(renderer);
        setRenderMode(RENDERMODE_CONTINUOUSLY);
    }

    @Override
    public void onCreate(SurfaceHolder surfaceHolder)
    {
        super.onCreate(surfaceHolder);

    }

    @Override
    public void onTouchEvent(MotionEvent event) 
    {
         if (event.getAction() == MotionEvent.ACTION_MOVE ) 
         {                        
            Toast.makeText(getApplicationContext(), "Move", Toast.LENGTH_SHORT).show();             
         }
         else
         if (event.getAction() == MotionEvent.ACTION_DOWN) 
         {                         
            Toast.makeText(getApplicationContext(), "Down", Toast.LENGTH_SHORT).show();             
         }           

        super.onTouchEvent(event);
    }

}

4

1 回答 1

3

得到了答案!刚刚添加了 this.setTouchEventsEnabled(true); 在 MyEngine 构造函数中。

于 2013-01-29T09:57:23.033 回答