我是靠谱客的博主 活力鸭子,这篇文章主要介绍android 怎么将activity 退出的动画效果关闭,现在分享给大家,希望可以做个参考。

在AndroidMenifest.xml文件里面的Activity声明中,增加自己的Theme声明,如下:

复制代码
1
2
3
<activity android:name=".MyOrderListServiceActivity" android:theme="@style/MyTheme" >

在values的style.xml文件里 声明 一个style,起名为MyTheme,注意这里面有我自定义的东西,涉及到动画的声明,就只有 <item name="android:windowAnimationStyle">@style/AnimationActivity</item>这一项。

复制代码
1
2
3
4
5
6
7
8
9
10
11
<style name="MyTheme"> <!-- float_box为我们定义的窗口背景 --> <item name="android:backgroundDimEnabled">true</item> <item name="android:windowFrame">@null</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowAnimationStyle">@style/AnimationActivity</item> </style>
在values的style.xml文件里 声明 一个style,起名为AnimationActivity,没错就是上面的MyTheme中的windowAnimationStyle的实现,如下:

复制代码
1
2
3
4
5
6
<style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/slide_in_bottom</item> <item name="android:activityOpenExitAnimation">@anim/slide_out_bottom</item> <item name="android:activityCloseEnterAnimation">@anim/slide_in_bottom</item> <item name="android:activityCloseExitAnimation">@anim/slide_out_bottom</item> </style>

添加完以上的内容,有的机器虽然进入的动画是可用的,但是退出的动画无效,还需要在你的Activity中添加一些代码,保证animation的完美运行
添加全局变量

复制代码
1
2
protected int activityCloseEnterAnimation; protected int activityCloseExitAnimation

在OnCreate里面添加如下代码:

复制代码
1
2
3
4
5
6
7
TypedArray activityStyle = getTheme().obtainStyledAttributes(new int[] {android.R.attr.windowAnimationStyle}); int windowAnimationStyleResId = activityStyle.getResourceId(0, 0); activityStyle.recycle(); activityStyle = getTheme().obtainStyledAttributes(windowAnimationStyleResId, new int[] {android.R.attr.activityCloseEnterAnimation, android.R.attr.activityCloseExitAnimation}); activityCloseEnterAnimation = activityStyle.getResourceId(0, 0); activityCloseExitAnimation = activityStyle.getResourceId(1, 0); activityStyle.recycle();
在你的程序finish之前,需要调用如下代码:
复制代码
1
overridePendingTransition(activityCloseEnterAnimation, activityCloseExitAnimation);

我调用的例子如下:

复制代码
1
2
3
4
5
6
@Override protected void onPause() { //提交禁止退场动画2017.8.5 overridePendingTransition(activityCloseEnterAnimation, activityCloseExitAnimation); super.onPause(); }

复制代码
1
这样就可以了。






最后

以上就是活力鸭子最近收集整理的关于android 怎么将activity 退出的动画效果关闭的全部内容,更多相关android内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部