Dan*_*lme 21 android android-animation android-activity
在我的Android应用程序中,我有一个浮动Activity
.它是从我的应用程序外部开始使用ActivityOptions.makeScaleUpAnimation
从"原始"矩形向上扩展.当我Activity
完成时,我希望它能够完成与该动画相反的操作:即它逐渐缩小回到该矩形.
我知道我可以使用矩形getIntent().getSourceBounds()
,并且我希望能够overridePendingTransition()
在完成时使用以实现此效果,但是overridePendingTransition()
只能接受固定的XML资源:似乎没有办法让动画依赖于源边界.我还能用其他东西来达到这个效果吗?
我的应用程序适用于API 11+,但由于它只是一种美容效果,我会对依赖于更高版本的解决方案感到满意.
我认为除了overridePendingTransition调用之外,还有一种方法可以缩小活动窗口.但是,此代码可能有所帮助
ActivityOptions opts = ActivityOptions.makeCustomAnimation(getActivity(),R.anim.scale_up,0); startActivity(new Intent(this,SecondActivity.class),opts.toBundle());
这是scale_up动画文件:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0"
android:toXScale="1.0"
android:fromYScale="0"
android:toYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:duration="500"/>
</set>
Run Code Online (Sandbox Code Playgroud)
从现有活动中调用此代码:
finish();
overridePendingTransition(0, R.anim.scale_down);
Run Code Online (Sandbox Code Playgroud)
这是scale_down动画文件:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0"
android:toXScale="0"
android:fromYScale="1.0"
android:toYScale="0"
android:pivotX="50%p"
android:pivotY="50%p"
android:duration="250"/>
</set>
Run Code Online (Sandbox Code Playgroud)
您可以改变X和Y比例以获得所需的矩形.希望这可以帮助.
归档时间: |
|
查看次数: |
1484 次 |
最近记录: |