2011-11-30 44 views
1

我想在應用程序啓動後不久運行我的android動畫。
我在thunder.xml中使用動畫列表框架動畫。 我的代碼如下。在onCreate方法上運行android動畫

ImageView img = (ImageView) findViewById(R.id.animlist);  
img.setBackgroundResource(R.drawable.thunder); 
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); 
frameAnimation.start(); 

但是,這是運行,但沒有顯示動畫。 如果我創建一個按鈕並將其設置爲該按鈕的onClick事件,那麼它的工作正常。 但我想在應用程序啓動後立即運行我的android動畫。 請幫我.. 在此先感謝

回答

0

嘗試在onStart()方法中移動您的代碼。我猜你的動畫正在運行,但直到活動開始,你的動畫動畫才結束。

+0

我搬到我的代碼在onStart()方法,還是一樣problem.Can ANY1幫助。有沒有其他的方式來實現這個? – yshak

+0

@yshak您已接受此答案,並評論說「仍然是同樣的問題」。它是否解決問題? – rds

0

onWindowFocusChanged()是在幀動畫上調出start()的正確方法。

1

試試這個代碼,它可以幫助你 -

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    animation = (ImageView)findViewById(R.id.imageAnimation); 
    animation.setBackgroundResource(R.drawable.animation);  
} 

public void onWindowFocusChanged (boolean hasFocus) 
{ 
    super.onWindowFocusChanged(hasFocus); 
    AnimationDrawable frameAnimation = 
     (AnimationDrawable) animation.getBackground(); 
    if(hasFocus) { 
     frameAnimation.start(); 
    } else { 
     frameAnimation.stop(); 
    } 
} 
相關問題