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 に答える