我目前正在爲我的Android應用程序開發一個非常簡單的用戶界面。我的目標是在啓動時動畫一些(我不知道有多少)按鈕,永遠不會。如何在啓動時僅啓動一次Android視圖動畫?
因此,遵循官方文檔,閱讀java文檔和在stackoverflow上搜索以及我終於得到它的工作。以下是我對單個測試視圖所做的操作。
- 在OnCreate()方法中設置視圖和動畫。
private TextView test_text;
private Animation test_anim;
...
protected void onCreate(Bundle savedInstanceState) {
...
test_text = (TextView) findViewById(R.id.text);
test_anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.test_animation);
}
- 開始在OnWindowFocusChanged()方法中的動畫。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
test_text.startAnimation(test_anim);
}
此過程工作,活動開始時執行的動畫,唯一的問題是,onWindowFocusChanged()方法,每次叫活性改變狀態。因此,文本在應用程序恢復時進行動畫處理,當佈局旋轉時就會像這樣。
所以,重複一遍:我的目標是僅在應用啓動時動畫文本,然後永久停止。
如果有幫助,我已經嘗試將其他方法(如onStart()或onResume())中的動畫開始,但問題仍然相同。
好的,明白了。除了當我旋轉屏幕時,共享的首選項在任何情況下都能正常工作。在那種情況下,動畫再次重複。就像每次旋轉屏幕一樣,活動從一開始就重新開始。任何想法如何解決這個問題?也許這是我不瞭解屏幕旋轉的東西。 – Claff