activity 进出动画及失效问题
来源:互联网 发布:烯牛数据工作怎么样 编辑:程序博客网 时间:2024/05/16 05:39
Activity的进入和退出动画的实现
(1).在style.xml中配置Activity的动画
<!--actvity进出动画--> <style name="ActivityOutInAnimation"> <!--新Activity进入动画--> <item name="android:activityOpenEnterAnimation">@anim/enter</item> <!--旧Activity退出动画--> <item name="android:activityOpenExitAnimation">@anim/exit</item> <!--旧Activity进入动画--> <item name="android:activityCloseEnterAnimation">@anim/enter</item> <!--新Activity退出动画--> <item name="android:activityCloseExitAnimation">@anim/exit</item> </style>(2).为Activiy设置Theme
<style name="DialogActivityStyle" parent="@android:style/Theme.Dialog"> <item name="android:windowAnimationStyle">@style/ActivityOutInAnimation</item> </style>(3).在minfast.xml中为需要的activity设置Theme
<activity android:name=".act.FunctionsActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@style/DialogActivityStyle" />配置好后我发现在模拟器上运行 的没有问题,但是在某些手机上运行却失效了
无奈之下只好动态去设置Activity的动画效果
overridePendingTransition(int enterAnim, int exitAnim) 通过这个方法来设置Activity的进出动画
int enterAnim 进入动画int exitAnim 退出动画注意此方法在 startActivity()和 finish()之后调用进入:Intent intent = new Intent(context,TestActivity.class); startActivity(intent); overridePendingTransition(R.anim.enter, R.anim.exit);退出:@Override public void finish() { super.finish(); overridePendingTransition(R.anim.enter,R.anim.exit); }由于项目需求,我的Activity是在Service中启动的,在设置进入动画的时候,service中无法调用overridePendingTranstion(),这就无奈了....
幸好巨人的肩膀已为我搭好... 在要启动的onCreate()方法中调用overridePendingTranstion()方法@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);//去标题 overridePendingTransition(R.anim.enter, R.anim.exit); setContentView(R.layout.activity_functions); }圆满收官!
最后如果应用中大多数的Activity都要使用自定义进出动画的话,可以写个基类继承Activity,重写启动和关闭Activity的方法,在其中
调用overridePandingTranstion()public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } /*重写startActivity()*/ @Override public void startActivity(Intent intent) { super.startActivity(intent); overridePendingTransition(R.anim.enter , R.anim.exit); } /*重写finish()*/ @Override public void finish() { super.finish(); overridePendingTransition(R.anim.enter , R.anim.exit); }}
0 0
- activity 进出动画及失效问题
- activity进出场动画以及动画失效问题
- activity进出动画
- Android Activity进出动画
- 【Android】【动画】Activity 进出动画
- Activity增加进入进出动画
- 关于Activity的转场动画失效问题
- Android 进出activity的滑动动画效果
- Activity 进入和进出的动画效果
- Activity进出动画全局统一配置
- 翻页动画,fragment翻页动画,Activity的进出场动画
- android之Activity的切换动画(进出动画)
- Android Activity切换动画(解决back键后退失效问题)
- Android Activity切换动画(解决back键后退失效问题)
- Android Activity切换动画(解决back键后退失效问题)
- Android Activity切换动画(解决back键后退失效问题)
- 每日一问之activity的进出动画
- 三张图片了解activity进出场动画
- iOS UIAlertView显示不出标题,及重写系统方法
- 课文《小站》
- 服务器启动后需要执行一次额外任务
- centos设置静态IP
- .Net多线程编程—使用Visual Studio 2012进行调试
- activity 进出动画及失效问题
- ngnix多个域名的配置
- [转]高压缩空间占用的 Hyper LogLog 算法
- Linux中yum命令详解
- Android Ant打包
- iOS https自签名证书— xxx.crt 转化成xxx.cer 格式
- oracle中nvl函数在mysql里面怎么使用
- 谁是窃贼
- HashMap的put和get方法原理