好的,我有一个问题。我用jfeinstein10的库实现了一个SlideMenu。我用startActivity()和Intents在不同的项目(所有FragmentActivities)之间切换。对于正常的转换I,使用overridePendingTransition。几乎所有的活动都是带有来自Jake Wharton的TabPageIndicator的ViewPagers。
事情是我使用带动画的自定义布局(Google即时卡式)。一个向上滑动和一个向下滑动动画。我扩展了LinearLayout,对于动画,我循环遍历childs(卡片)并为每个孩子启动动画。这些卡是RelativeLayouts添加到自定义LinearLayout。
我的想法是,在启动应用程序后,卡片从buttom(Google Now就像)向上滑动,当我从当前活动向下滑动活动卡片时,现在空白的活动切换到带淡化的新活动(通过overridePendingTransition)和新活动的卡片向上滑动。
我尝试使用onGlobalLayoutListener进行滑动,但这在ViewPager中表现得很奇怪(第一个标签向上滑动,第二个标签保持不变,第三个标签向上滑动)。动画应仅在启动应用程序或在“活动”之间切换后显示。
对于下滑动画,我完全没有任何线索。我尝试在自定义布局中创建一个额外的方法并使用onPause()启动它 - 根本不工作。
所以我想问一下是否有人有想法?或者这有可能吗?这个问题真让我抓狂:D
修改
http://pastebin.com/8mDefv50我的NowLayout
这个 https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/slidingmenu/example/fragments/ResponsiveUIActivity.java 基本上是我的基础ui(与content_frame相同的方法并检查menu_frame)。菜单本身包含一些启动不同FragmentActivities的按钮。
FragmentActivities仅管理ViewPager。真实内容和NowLayout在ViewPager的Fragment中使用。
所以我的问题是以一种很好的方式访问MenuFragment中的动画。主要是因为切换是在MenuFragment中完成的,因为它只保存按钮。也许我的吸收速度很慢,或者我错过了树木的森林:D
答案 0 :(得分:1)
在为新活动调用Intent之前应该执行的向下滑动动画 - 而不是在onPause()上,因为为时已晚。
因此,当您需要从当前活动向前或向后移动时 - 执行向下滑动动画,在此动画结束时放置一个侦听器,然后根据需要执行finish()/ startActivity()。