Android 在OnBackpress()时重新启动上一个活动的动画
我有一个带有动画的Android 在OnBackpress()时重新启动上一个活动的动画,android,android-activity,android-animation,android-gridview,Android,Android Activity,Android Animation,Android Gridview,我有一个带有动画的GridView。当我们启动活动时,动画工作,如果我们转到另一个活动,我需要动画以启动时的相同方式重新启动。现在,当按下后退按钮时,它将转到上一个活动,但前面提到的GridView没有动画。代码如下: CustomGrid adapter = new CustomGrid(Grids.this, web, imageId); grid = (GridView) findViewById(R.id.grid); grid.setAdapter(adapter); Animatio
GridView
。当我们启动活动
时,动画
工作,如果我们转到另一个活动,我需要动画以启动时的相同方式重新启动。现在,当按下后退按钮时,它将转到上一个活动,但前面提到的GridView
没有动画。代码如下:
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);
根据您的描述,我假设您将上面的代码放入活动的
onCreate()
方法中。尝试将其放入onResume()
中,而不是从您的描述中,我假设您将上面的代码放入活动的onCreate()
方法中。请尝试将其放入onResume()
,而不是onCreate()
,通过此链接,每次活动恢复时(在您的情况下,导航回)都会调用它
这仅仅是因为我假设您是在onCreate()上编写代码的;当您启动活动时,它只调用onCreate(),当您切换活动并返回时,您的状态将更改为onResume(),因此动画代码停止工作
您需要在onResume()
方法中编写代码,该方法在启动活动时以及返回活动时调用
当活动第一次加载时,事件调用如下:
onCreate()
onStart()
onResume()
当切换活动时
onPause()
当返回到活动时
onResume()
注意:需要注意的一点是,配置更改时也会调用onResume()。将代码放入onResume()将导致在旋转设备时再次播放动画。
根据您的要求,您可能希望避免此问题。浏览此链接
这仅仅是因为我假设您是在onCreate()上编写代码的;当您启动活动时,它只调用onCreate(),当您切换活动并返回时,您的状态将更改为onResume(),因此动画代码停止工作
您需要在onResume()
方法中编写代码,该方法在启动活动时以及返回活动时调用
当活动第一次加载时,事件调用如下:
onCreate()
onStart()
onResume()
当切换活动时
onPause()
当返回到活动时
onResume()
注意:需要注意的一点是,配置更改时也会调用onResume()。将代码放入onResume()将导致在旋转设备时再次播放动画。
根据您的需求,您可能希望避免此操作。在活动的onResume()
中执行此操作。在活动的onResume()中执行此操作。
。