Android 嵌套滑动活动

Android 嵌套滑动活动,android,Android,我有3项活动,A、B、C 他们从A导航到B,所以我想把A滑到左边,把B滑到右边。 当他们从B导航回A时,我想从右边滑出B,从左边滑入A 所以感觉他们只是在3个窗格中并排滚动,如下所示: 我正在尝试以不同的方式来实现这一点: <style name="MyAnimation.WindowFromRight" parent="@android:style/Animation.Dialog"> <item name="android:windowEnterAnimation

我有3项活动,A、B、C

他们从A导航到B,所以我想把A滑到左边,把B滑到右边。 当他们从B导航回A时,我想从右边滑出B,从左边滑入A

所以感觉他们只是在3个窗格中并排滚动,如下所示:

我正在尝试以不同的方式来实现这一点:

<style name="MyAnimation.WindowFromRight" parent="@android:style/Animation.Dialog">
    <item name="android:windowEnterAnimation">@anim/slide_in_left</item>
    <item name="android:windowExitAnimation">@anim/slide_out_right</item>
</style>

<style name="MyAnimation.WindowFromLeft" parent="@android:style/Animation.Dialog">
    <item name="android:windowEnterAnimation">@anim/slide_in_right</item>
    <item name="android:windowExitAnimation">@anim/slide_out_left</item>
</style>

<style name="ThemeFromLeft" parent="AppBaseTheme">
    <item name="android:windowAnimationStyle">@style/MyAnimation.WindowFromLeft</item>
</style>

<style name="ThemeFromRight" parent="AppBaseTheme">
    <item name="android:windowAnimationStyle">@style/MyAnimation.WindowFromRight</item>
</style>

@动画/幻灯片在左
@动画/滑出\右
@动画/幻灯片在右侧
@动画/滑出左
@样式/MyAnimation.WindowFromLeft
@style/MyAnimation.WindowFromRight
但是,B的规则很复杂,因此它不适合上面的任何样式。当引入C时,B向左滑出,当引入A时,B向右滑出。当B进入视野时,反之亦然

我曾试图
覆盖过渡
以处理特殊情况,但似乎冲突,动画似乎是复杂的,应该是这样吗


所以我的问题是,这可以通过样式实现吗?

如果我正确理解这一点,我认为您最好使用ViewPager,并将您的3个活动转换为3个片段。然而,如果您的应用程序出于某种原因需要这3个活动,您可能可以通过调用overridePendingTransition(int,int)来实现您想要的


请注意,第一个int是输入动画的预定义xml动画的资源id,第二个int是退出动画的资源id。在您的情况下,您需要创建4个动画文件(两个用于输入,两个用于退出),并在每个活动中使用相应的动画文件。您可以查看一下

谢谢,
ViewPager
是一个很好的建议。不幸的是,其中两个活动来自第三方库。那么最好的方法是在适当的位置调用overridePendingTransition。