如何设置Activity进出动画的方法
如何进行页面之间切换的动画,是一个APP中常见的需求,具体的处理方式有下面几种方式。希望可以更好的选择处理页面之间的切换动画。
- 页面跳转时进行动画
方式一:
Intent intent = new Intent(this, cls);
startActivity(intent);
//该方法是Activity的方法可以直接使用
//R.anim.enterAnim 进入动画 (自定义属性动画)
//R.anim.exitAnim 退出动画 (自定义属性动画)
overridePendingTransition(R.anim.enterAnim, R.anim.exitAnim);
方式二:
//该方法是给Activity设置主题
<activity
android:name=".AnimActivity"
android:theme="@style/AppTheme.NoActionBar" />
- 属性动画
R.anim.enterAnim 实现 从左边进来
<translate
android:duration="300"
android:fromXDelta="100%p"
android:toXDelta="0%p"
android:toYDelta="0" />
R.anim.exitAnim 实现 从右边出去
<translate
android:duration="300"
android:fromXDelta="0%p"
android:toXDelta="-100%p"
android:toYDelta="0" />
- Activity Theme主题
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowAnimationStyle">@style/ActivityAnimation</item>
</style>
<style name="ActivityAnimation" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/enterAnim</item>
<item name="android:activityCloseExitAnimation">@anim/exitAnim</item>
</style>
- 属性动画
enterAnim 进入动画
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0" />
exitAnim 退出动画
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromXDelta="0"
android:toXDelta="100%p" />
- ConcurrentLinkedQueue 并发连接队列 (了解)