您的位置:首页 > 其它

关于singleInstance模式下activity切换动画问题

2015-09-28 16:35 459 查看
某些版本手机在设置activity模式为singleInstance模式下的时候,会默认自带一个放缩的切换动画,跟其他切换动画不协调,此时解决如下。

将所有的activity都设置动画,覆盖掉默认的,

设置主题:

android:theme="@style/NoTitleBar"


<style name="NoTitleBar" parent="android:Theme.Light.NoTitleBar">
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
</style>

切换动画

<style name="AnimationActivity" parent="@android:style/Animation.Activity" mce_bogus="1">
<item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>
<item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>
<item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
</style>

这只完成了对正常activity的操作动画

进入到singleInstance的activi中时,进入activity加入

overridePendingTransition(R.anim.slide_right_in, R.anim.slide_left_out);

注意顺序不能交换

销毁activity

overridePendingTransition( R.anim.slide_left_in,R.anim.slide_right_out);

顺序不能交换

slide_left_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="400"
android:fromXDelta="-100.0%p"
android:toXDelta="0.0" />
</set>


slide_left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="400"
android:fromXDelta="0.0"
android:toXDelta="-100.0%p" />
</set>


slide_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="400"
android:fromXDelta="100.0%p"
android:toXDelta="0.0" />
</set>


slide_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="400"
android:fromXDelta="0.0"
android:toXDelta="100.0%p" />
</set>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: