我正在为自己创建新的启动器。现在,当我从我的主要 Activity 运行应用程序时,它有这个默认动画,它把我的启动器放在后面,并在它上面弹出新应用程序。 而不是这个,我想附上我自己的动画。最好我想默认 Material 动画从触摸点显示。
到目前为止我尝试过的事情:
You need to use a Theme.AppCompat theme (or descendant) with this activity on Android
http://tips.androidhive.info/2015/09/android-how-to-apply-material-design-theme/
<style name="swLaunch" parent="swLaunch.Base">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/explode</item>
<item name="android:windowSharedElementExitTransition">@android:transition/explode</item>
<item name="android:windowEnterAnimation">@android:transition/explode</item>
<item name="android:windowExitAnimation">@android:transition/explode</item>
<item name="android:taskToFrontEnterAnimation">@android:transition/explode</item>
<item name="android:taskToBackEnterAnimation">@android:transition/explode</item>
<item name="android:taskToFrontExitAnimation">@android:transition/explode</item>
<item name="android:taskToBackExitAnimation">@android:transition/explode</item>
<item name="android:inAnimation">@android:transition/explode</item>
<item name="android:layoutAnimation">@android:transition/explode</item>
<item name="android:windowShowAnimation">@android:transition/explode</item>
<item name="android:activityOpenEnterAnimation">@android:transition/explode</item>
<item name="android:fragmentOpenEnterAnimation">@android:transition/explode</item>
</style>
这是我启动应用程序的方式:
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.gm");
if (launchIntent != null) {
startActivity(launchIntent);
}
最佳答案
动画开始一个 Activity :
int left = 0, top = 0;
int width = v.getMeasuredWidth(), height = v.getMeasuredHeight();
ActivityOptions opts = ActivityOptions.makeClipRevealAnimation(v, left, top, width, height);
startActivity(i, opts.toBundle());
i
是一个Intent,v
是一个View
动画返回主屏幕(通过按主页按钮或返回按钮)
@Override
public void onResume() {
super.onResume();
// override default transition animation
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
关于运行新应用程序时的 Android 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40376672/