2

我刚开始使用 Android,我正在制作一个简单的动态壁纸。我在 2.1 模拟器上测试它。问题是,在您选择“设置壁纸”之前它在预览屏幕中工作时,一旦您选择它作为壁纸,触摸事件就不会出现在屏幕上。我是否需要在清单中说明有关触摸事件的任何内容才能使其正常工作?有点困惑为什么它会在一个而不是另一个中起作用。

public void handleTouchEvent(MotionEvent event) {
    if(event.getAction() == MotionEvent.ACTION_UP) {
        //add new BulletHole
        int x = (int)event.getX();
        int y = (int)event.getY();
        synchronized(holes) {
            holes.add(new BulletHole(x,y));
        }
    }

    this.pause = false;     
    synchronized(this) {
        notify();
    }
}
4

2 回答 2

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

        // By default we don't get touch events, so enable them.
        setTouchEventsEnabled(true);
    }

???这个缝有帮助吗?

于 2010-08-14T14:26:35.443 回答
1

我知道这个问题有点老了,但这适用于所有在谷歌搜索时偶然发现的人。小心 setTouchEnabled 函数 - 它适用于 2.1 和 2.1,但在所有更高版本的 Android 上它会使应用程序崩溃。

于 2012-09-08T19:20:05.180 回答