android - 在 Activity 之间切换的动画

标签 android android-animation android-fragmentactivity

好的,我有一个问题。我用 jfeinstein10 的库实现了一个 SlideMenu。我正在使用 startActivity() 和 Intents 在不同的项目(所有 FragmentActivities)之间切换。对于正常的过渡,我使用的是 overridePendingTransition。几乎所有 Activity 都是带有来自 Jake Wharton 的 TabPageIndicator 的 ViewPagers。

问题是我正在使用带有动画的自定义布局(Google Now 卡片样式)。一张向上滑动和一张向下滑动动画。我扩展了 LinearLayout 并为循环遍历子项(卡片)的动画并为每个子项启动动画。这些卡片是添加到自定义 LinearLayout 的 RelativeLayouts。

我的想法是,在启动应用程序后,卡片从按钮向上滑动(类似于 Google Now),当我切换 Activity 时,卡片从当前 Activity 向下滑动,然后现在空白的 Activity 切换到带有淡入淡出的新 Activity (通过 overridePendingTransition) 和来自新 Activity 的卡片向上滑动。

我尝试将 onGlobalLayoutListener 用于向上滑动的内容,但这在 ViewPager 中表现得很奇怪(第一个选项卡向上滑动,第二个保持不变,第三个也向上滑动)。动画应该只在启动应用程序或在 Activity 之间切换后出现。

对于滑下动画我一点头绪都没有。我尝试在我的自定义布局中创建一个附加方法并使用 onPause() 启动它 - 根本不起作用。

所以我想问问有没有人有想法?或者这可能吗?这个问题真的让我抓狂:D

编辑:

http://pastebin.com/8mDefv50我的现在布局

还有这个 https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/ResponsiveUIActivity.java 基本上是我的基本用户界面(与 content_frame 相同的方法并检查 menu_frame)。菜单本身包含一些启动不同 FragmentActivities 的按钮。

FragmentActivities 只管理 ViewPager。真正的内容和 NowLayout 在 ViewPager 的 Fragment 中使用。

所以我的问题是以一种很好的方式访问 MenuFragment 中的动画。主要是获得 NPE,因为切换是在仅包含按钮的 MenuFragment 中完成的。也许我的吸收速度很慢,或者我只见树木不见森林 :D

最佳答案

您应该在为新 Activity 调用 Intent 之前执行的向下滑动动画 - 不要在 onPause() 上执行,因为为时已晚。

因此,当您需要从当前 Activity 前进或后退时 - 执行向下滑动动画,在此动画结束时放置一个监听器,然后才根据需要执行 finish()/startActivity()。

关于android - 在 Activity 之间切换的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394233/

相关文章:

java - FragmentPagerAdapter 未调用 getItem() 方法

android - 当父 Activity 作为参数传递给非 Activity 类中的 Intent 时, onActivityResult 不会被 finish() 调用

java - 使用 Android SDK 23 请求相机权限

java - CardView 不支持 TransitionDrawable?

android - 旋转动画后保存图像时如何避免闪烁图像?

java - 每隔几秒重复一次 AnimationDrawable

Android - 支持手机上的平板电脑应用

java - 异步任务后无法更改文本

android - 新安装的 Eclipse 和 Android SDK。无法让模拟器工作。卡在时钟屏幕上

android - 如何仅在最顶部的 fragment 上触发 onResume(),在后退时