gpt4 book ai didi

android - 如何实现安卓动态壁纸的双击?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:32 25 4
gpt4 key购买 nike

我想为 Android 动态壁纸实现双击事件。遗憾的是,我找不到任何具体的代码来实现这一点。

目前我找到了一个使用引擎类的 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

您好,罗伯特

最佳答案

使用http://developer.android.com/reference/android/view/GestureDetector.html

例如:

public class AndroidTestActivity extends Activity {

private GestureDetector gestureDetector;

@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener(){
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.e("onDoubleTap", e.toString());
//handle double tap
return true;
}
});
}
}

关于android - 如何实现安卓动态壁纸的双击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com