2011-12-29 4 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

너무 감사합니다 너무 간단하고 초보자 메신저 전에 이순신 didnt 한 그것을보고 나도 몰라 내가 조금 파이썬을 알고 있지만 자바 엉망 적이 있지만, 그것과 매우 유사한 내가 알아 내고있는. 다시 감사합니다 – Raul

+0

@ RaulSanchez 대부분의 경우 문서에 원하는 내용이 포함되어 있기 때문에 항상 설명서를 확인해야하며 여기에서 답변을 찾을 수 있습니다. 다음에서 찾을 수 있습니다. http://developer.android.com/reference/android/view/animation/Animation.html –

관련 문제