Activity 右进右出动画;(解决右进有效,右出无效BUG)
2016-12-09 16:20
736 查看
Mark
1、定义动画
slide_left_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
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="300"
android:fromXDelta="0.0"
android:toXDelta="100.0%p"/>
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="1.0"/>
</set>
2、
3、
以上代码,经测试,进入Activity有效果,但是退出Activity时候没有效果:下面解决方案
在BaseActivity中
定义全局变量:
然后在onCreate中调用以下方法:
重新finish方法:
问题解决
1、定义动画
slide_left_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
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="300" android:fromXDelta="0.0" android:toXDelta="-100.0%p" /> <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:duration="300" /> </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="300" android:fromXDelta="100.0%p" android:toXDelta="0.0"/> <alpha android:duration="300" android:fromAlpha="1.0" android:toAlpha="1.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="300"
android:fromXDelta="0.0"
android:toXDelta="100.0%p"/>
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="1.0"/>
</set>
2、
<style name="activityAnimation" parent="@android:style/Animation"> <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> <style name="Animation_RightInRightOutActivity" parent="@style/Theme.AppCompat.NoActionBar"> <item name="android:windowAnimationStyle">@style/activityAnimation</item> </style>
3、
<activity android:name=".activity.VideoDetailActivity" android:theme="@style/Animation_RightInRightOutActivity"></activity>
以上代码,经测试,进入Activity有效果,但是退出Activity时候没有效果:下面解决方案
在BaseActivity中
定义全局变量:
protected int activityCloseEnterAnimation; protected int activityCloseExitAnimation;
然后在onCreate中调用以下方法:
private void initAnim() { 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方法:
@Override public void finish() { super.finish(); overridePendingTransition(activityCloseEnterAnimation, activityCloseExitAnimation); }
问题解决
相关文章推荐
- 在activity中使用多个fragment时设置第一个fragment的沉浸栏有效,其他无效解决办法
- 解决Android设置Style中Activity的退出动画无效问题
- 解决安卓style文件中设置Activity退出动画无效或者被干扰的问题
- 在activity中使用多个fragment时设置第一个fragment的沉浸栏有效,其他无效解决办法
- 表格划过变色之tr:hover无效,td:hover有效解决方法
- TabHost管理的activity中的onFling事件无效问题解决方案
- Android第一次点击分享有效,再次点击则无效的问题解决
- 【iOS-Cocos2d游戏开发之七】在cocos2d中添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题!【11月28日更新解决添加组件Cocos2d动画停止播放的BUG】
- IE8 底部补丁无效Bug 解决方法
- Win8/8.1下驱动安装“数据无效”错误的有效解决方法
- Android Activity切换动画overridePendingTransition 笔记 . 解决切换无响应的方法
- iPhone4 SIM失败?无效SIM?有效解决
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失,并解决activity跳转的时候出现短暂的黑屏
- 解决Android Checkbox Padding无效的Bug
- 使用zoom解决IE6 margin无效BUG
- IE6 margin无效BUG解决办法之一
- 解决Chrome插件chrome.tabs无效的Bug
- 【iOS-Cocos2d游戏开发之七】在cocos2d中添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题!【11月28日更新解决添加组件Cocos2d动画停止播放的BUG】
- 解决IE6 select z-index无效,遮挡div的bug
- jQuery在html有效在jsp无效的原因及解决方法