yang163_yang 2013-09-03 06:15 采纳率: 33.3%
浏览 7268
已采纳

如何使用动画实现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条回答

  • kity 2013-09-03 06:40
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题