android统一添加activity切换动画

android统一添加activity切换动画

   在告别2015最后一天的时候就决定写写博客,由于工作忙碌一拖就是几个月过去了,是时候来聊聊人生谈谈理想。
----2016-03-20 里程碑
  在实际的应用开发过程中各种动画效果是必不可少的,这样可以让用户体验到app的流传度和适用度,方便用户快速的熟悉app应用的操作。废话不多说,直接开播。。。

实现activity界面切换动画效果有两种方式:
1.styles.xml编写动画主题,在AndroidManifest.xml里面使用。
2.在activity的onCreate()和finish() 里面调用overridePendingTransition函数

使用两种方法的前提都是需要准备动画效果文件:
slide_in_form_left.xml



    
slide_in_for_right.xml



    
slide_out_to_left.xml



    
slide_out_to_right.xml

    

写完动画效果文件后,就按照第一种方式配置:
  1. styles.xml 文件配置启动关闭效果动画
    
        
    
        
  2. 在AndroidManifest.xml配置Theme

第二种方式配置,在开发中一般都会配置基类BaseActivity,让所有的Activity去继承BaseActivity方便管理
  1. 在BaseActivity中OnCreate()启动
    switch (STATE) {
                    case LEFT:
                        //输入,退出  的界面
                        overridePendingTransition(R.anim.left_in, R.anim.left_out);
                        break;
                    case RIGHT:
                        overridePendingTransition(R.anim.right_in, R.anim.right_out);
                        break;
                    case TOP:
                        overridePendingTransition(R.anim.top_in, R.anim.top_out);
                        break;
                    case BOTTOM:
                        overridePendingTransition(R.anim.bottom_in, R.anim.bottom_out);
                        break;
                    case SCALE:
                        overridePendingTransition(R.anim.scale_in, R.anim.scale_out);
                        break;
                    case FADE:
                        overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
                        break;
                }
  2. finish()关闭
    
    @Override
        public void finish() {
            super.finish();
                switch (STATE) {
                    case LEFT:
                        overridePendingTransition(R.anim.left_in, R.anim.left_out);
                        break;
                    case RIGHT:
                        overridePendingTransition(R.anim.right_in, R.anim.right_out);
                        break;
                    case TOP:
                        overridePendingTransition(R.anim.top_in, R.anim.top_out);
                        break;
                    case BOTTOM:
                        overridePendingTransition(R.anim.bottom_in, R.anim.bottom_out);
                        break;
                    case SCALE:
                        overridePendingTransition(R.anim.scale_in, R.anim.scale_out);
                        break;
                    case FADE:
                        overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
                        break;
                }
            
        }






参考灵感:
https://github.com/GcsSloop/SloopBlog/blob/master

你可能感兴趣的:(Android逆向工程,Android积累)