0

我有一個GridView動畫的重新啓動動畫。當我們啓動activityanimation工作時,如果我們轉到其他活動,那麼我需要動畫以與啓動時相同的方式重新啓動。現在當按下「後退」按鈕時,它將轉到上一個活動,但上述GridView沒有動畫。下面是代碼:當onBackPressed()

CustomGrid adapter = new CustomGrid(Grids.this, web, imageId); 
grid = (GridView) findViewById(R.id.grid); 
grid.setAdapter(adapter); 
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.grid_item_anim); 
controller = new GridLayoutAnimationController(animation, .2f, .2f); 
grid.setLayoutAnimation(controller); 
+0

在活動的onResume()中執行此操作。 – SripadRaj

回答

0

從你的描述,我認爲你把上面的代碼到你的活動onCreate()方法。嘗試將它放入onResume(),而不是每次活動恢復時調用(導航返回,在您的情況下),而不是onCreate()

2

通過這個鏈接ActivityLifeCycle

這僅僅是因爲我假設你寫上的onCreate代碼();當你開始活動時,它只會在您切換活動並返回時調用onCreate(),您的狀態將更改爲onResume(),以便動畫代碼停止工作。

您需要編寫代碼onResume()當您啓動活動並且每當您回到活動時都會調用該方法。

當活動首次加載事件作爲下面稱爲:

onCreate() 
onStart() 
onResume() 

開關活性

onPause() 

活性

onResume() 

注意:有一點需要注意的是,onresume()在配置更改發生時也會被調用。將代碼放入onResume()將使您在旋轉設備時再次播放動畫。 根據您的要求,您可能需要避免這種情況。