我希望能够为Android动态壁纸实现双击事件。不幸的是,我找不到任何关于如何实现这一点的具体代码。
目前,我找到了一个使用Engine类的onTouchEvent方法的解决方法:
目前,我找到了一个使用Engine类的onTouchEvent方法的解决方法:
public void onTouchEvent(MotionEvent event) {
long time = android.os.SystemClock.currentThreadTimeMillis();
if(((time - mLastTouchTime) < 500) && ((time - mLastTouchTime) > 100))
{
if(!mIsPlayed && mSound)
{
mIsPlayed = true;
int sound = R.raw.hell;
if(mTheme.equals("rose"))
sound = R.raw.rose;
if(mTheme.equals("greed"))
sound = R.raw.greed;
MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound);
mp.start();
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.release();
mIsPlayed = false;
}
});
}
}
mLastTouchTime = time;
super.onTouchEvent(event);
}
嗯,那不是一个优雅的解决方案。我知道有一些壁纸实现了双击功能。但是我不知道如何自己做到它。
所以,一次“轻急拍”朝正确方向会很好。如果必要,我会接受“双击” :D
祝好, 罗伯特