2011-12-29 119 views
2

我有一個我製作的Android應用程序,一切正常,但我想添加一個代碼,一旦我再次觸摸屏幕就會停止動畫。正如你在代碼中看到的那樣,我得到了動畫開始,但是我只能通過退出程序來停止它,我希望能夠再次觸摸屏幕來停止動畫和聲音播放。如何讓動畫在觸摸時開始並再次觸摸時停止?

謝謝。

import android.app.Activity; 
import android.os.Bundle; 
import android.graphics.drawable.AnimationDrawable; 
import android.media.MediaPlayer; 
import android.view.MotionEvent; 
import android.widget.ImageView; 



public class WigleActivity extends Activity { 
/** Called when the activity is first created. */ 

MediaPlayer mp; 
AnimationDrawable animation; 

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

    mp = MediaPlayer.create(this, R.raw.sexy); 

    ImageView imageView1 = (ImageView)findViewById(R.id.imageView1); 
    imageView1.setBackgroundResource(R.anim.wanim); 
    animation = (AnimationDrawable) imageView1.getBackground();  
} 

protected void onPause() { 
    super.onPause(); 

    mp.release(); 
    finish(); 
} 

public boolean onTouchEvent (MotionEvent event) { 
if (event.getAction() == MotionEvent.ACTION_DOWN) { 
    mp.start(); 
    animation.start(); 
    return true; 

} 
return super.onTouchEvent(event); 
} 

} 

回答

1

更改您onTouch代碼如下:

public boolean onTouchEvent (MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
    if (animation.isRunning()) { 
     mp.stop(); 
     animation.stop(); 
    } else { 
     mp.start(); 
     animation.start(); 
    } 
    return true; 

    } 
    return super.onTouchEvent(event); 
} 
+0

謝謝你這麼多IDK的易建聯沒有看到它之前,它如此簡單,我是一個新手,我知道一個小蟒蛇,但從來沒有與Java搞砸,但它與我發現的非常相似。再次感謝 – Raul 2011-12-29 23:58:37

+0

@RaulSanchez你應該經常檢查文檔,因爲在大多數情況下,它包含你想要的,它是我們找到答案的地方。你可以在這裏找到它:http://developer.android.com/reference/android/view/animation/Animation.html – 2011-12-30 09:07:01

相關問題