Rom*_*iel 34 animation android transition android-intent android-activity
在我的Android应用程序中,我正在制作一个方法来弹出所有活动并调出第一个活动.
我用这个代码:
Intent intent = new Intent(this, MMConnection.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
this.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我注意到转换仍然是从左到右的动画,有人知道在开始活动时是否有办法改变系统动画?
实际上,我理想地希望有一个从右到左的过渡(就像点击返回按钮时)
感谢帮助!
E-R*_*Riz 45
CoolMcGrr是对的,你想用overridePendingTransition(int enterAnim, int exitAnim).
为了专门获得标准的"后退按钮"转换,我使用这些作为enterAnim和exitAnim转换:
push_right_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_shortAnimTime" />
</set>
Run Code Online (Sandbox Code Playgroud)
push_right_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@android:integer/config_shortAnimTime" />
</set>
Run Code Online (Sandbox Code Playgroud)
我用过这段代码:
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Run Code Online (Sandbox Code Playgroud)
您可以在GmailAnimation或LopeAnimations中查看这些示例.您还可以在此博客中查看更多内容.
现在出现问题是因为前ICS和ICS具有不同的内置活动转换.这比定义自己的动画和SDK独立要清晰得多:
Intent intent = new Intent(this, MMConnection.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NO_ANIMATION);
this.startActivity(intent);
finish();
Run Code Online (Sandbox Code Playgroud)
这将启动活动(尚未显示)并播放"活动结束"到新活动的过渡.
| 归档时间: |
|
| 查看次数: |
57458 次 |
| 最近记录: |