如何从中心开始新活动作为一个消耗的圈子

时间:2014-08-21 06:05:29

标签: android android-activity android-animation

我想从屏幕中心开始一个新的活动作为一个消耗的圈子,所以活动将显示为这样一个圆圈。

example

这是我目前的代码 anim.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="200"
    android:fromXScale="0"
    android:fromYScale="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="1"
    android:toYScale="1" >
</scale>

animback.xml

    <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" >
    </scale>
</set>

调用动画

overridePendingTransition(R.anim.anim,R.anim.animback);

当前代码只是放大了新活动,但我希望活动从中心显示为圆圈。

1 个答案:

答案 0 :(得分:1)

我不确定转换动画是否可行。

也许有可能通过以下方式获得理想的结果:

  • 在转换前制作活动A的屏幕截图
  • 转移到没有动画的活动B
  • 叠加活动活动B的截图
  • 为叠加层设置动画(应用自定义绘图)

  • 让活动B透明
  • 转移到没有动画的活动B
  • 动画活动B布局(应用自定义绘图)

另请参阅:DevBytes: Custom Activity Animations