android Activity切换动画效果

为Activity设置左右进出的效果,能够通过在Mainfest.xml文件里设置主题的方式来实现。还能够使用java代码。

一、设置样式

先看看实现动画的样式:

<style name="AnimationRToL" mce_bogus="1" parent="@<span style="color:#ff0000;">android:style/Animation.Activity</span>">
<item name="android:activityOpenEnterAnimation">@anim/in_from_right</item>
<item name="android:activityOpenExitAnimation">@anim/out_to_left</item>
<item name="android:activityCloseEnterAnimation">@anim/in_from_left</item>
<item name="android:activityCloseExitAnimation">@anim/out_to_right</item>
</style>

在还有一个样式中引用该动画样式的样式:

 <style name="ThemeRToL" mce_bogus="1" parent="@android:style/Theme.NoTitleBar">
<item <span style="color:#ff0000;">name="android:windowAnimationStyle</span>">@style/AnimationRToL</item>
<item name="android:windowNoTitle">true</item>
</style>

activity的配置:

<activity
android:name="com.diiji.police.CPActivity"
android:screenOrientation="portrait"
android<span style="color:#ff0000;">:theme</span>="@style/ThemeRToL" >
</activity>

缺陷:假设须要activity1跳转到activity2,activity2跳转到activity3,那么我想在activity3返回的时候。直接跳转到activity1。也就是在activity2跳转到activity3时,activity2要finish掉,那么这时候就会出现黑屏的现象。由于finishi的activity也有退出的动画效果。

要解决问题,我使用一个单例模式的activity管理类,在activity3调用onDestory()时,指定finish  activity2。

当然,也能够试试,Intent.FLAG_CLEAR_TOP这样的方式。

二、overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

1 它必需紧挨着startActivity()或者finish()函数之后调用

2.它仅仅在android2.0以及以上版本号上适用

3.finish的activity不会有动画

上一篇:JavaWeb工程中web.xml基本配置(转载学习)


下一篇:正则表达式:Pattern类与Matcher类详解