Android 具有多个动画片段的活动
我目前有一个活动包含一个Android 具有多个动画片段的活动,android,animation,fragment,Android,Animation,Fragment,我目前有一个活动包含一个片段,在运行时将其注入线性布局 在我的活动布局中,我有一个名为nextButton的按钮视图。当我单击此按钮时,我希望活动切换到下一个片段,但也要设置动画,其中当前片段从屏幕向左移动,新片段从右侧进入。好像新片段正在将当前片段推开 下面是我想要的一个演示 我是否应该将所有片段存储在ArrayList中,并在单击nextButton时将当前索引+1插入LinearLayout?最好的方法是什么?您只需要查看页面 您需要在下一个按钮中选择Page with,此处true用于
片段
,在运行时将其注入线性布局
在我的活动
布局中,我有一个名为nextButton
的按钮
视图。当我单击此按钮时,我希望活动
切换到下一个片段
,但也要设置动画,其中当前片段从屏幕向左移动,新片段从右侧进入。好像新片段正在将当前片段推开
下面是我想要的一个演示
我是否应该将所有片段存储在
ArrayList
中,并在单击nextButton
时将当前索引+1插入LinearLayout
?最好的方法是什么?您只需要查看页面
您需要在下一个按钮中选择Page with,此处true用于平滑滚动动画
pager.setCurrentItem( num,true )
您需要创建4个动画,用于输入(左侧和右侧)和退出片段的动画(左侧和右侧) 每次从
FragmentTransaction
替换片段时,都需要设置setCustomAnimations
示例:
FragmentTransaction transaction = activity.getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(inL, inR, outL, outR);
transaction.replace(layout, fragment, tag);
transaction.commit();
其中,
inL
和inR
正在进入动画,而outL
和outR
正在退出动画,解决了问题的较简单部分。其中更困难的一面是检测当前显示的片段以及该转换到哪个片段。@Subby要检测当前片段,您只需检查标记,正如您每次替换片段时看到的那样,您在其上放置了一个标记“该转换到哪个片段”,这取决于您收集的片段