2 yang163 yang yang163_yang 于 2013.09.03 14:15 提问

如何使用动画实现Activity的上下方向切换

需要实现一个效果:
A_Activity首先出现,显示B_Activity,A需要保持不动,B从屏幕下方覆盖到A的上层。
B退出时,再次从下方收回,收回的时候A的内容逐渐显示。
给人的感觉就像是B覆盖在A上面一样。
我在实现时,B使用style:

<style name="windowfloat">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

overridePendingTransition动画:
bottom_in.xml

<translate android:fromYDelta="100%p" android:toYDelta="0%p"  android:duration="300"/>

bottom_out.xml

<translate android:fromYDelta="0%p" android:toYDelta="100%p" android:duration="300"/>

虽然B在显示时是从下面推上去的,但是在按返回时,没有动画。

1个回答

shaojie519
shaojie519   2013.09.03 14:40
已采纳

在A_Activity的startActivity()后面调用 overridePendingTransition(int animOut, int animIn); 同时在B_Activity的finish()也调用 overridePendingTransition(int animOut, int animIn); 在res/anim的目录下实现两个动画xml即可

yang163_yang
yang163_yang 嗯。 重写finish,在super.finishi()后面overridePendingTransition就可以了。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!