Activity转场动画(透明Activity)

公司的应用开发已经进入了优化阶段,这时就想给每一个打开的activity增加一个手势返回,当手指向右滑动时候,activity会跟着手指滑动,直至销毁(仿微信)。

想做成滑动返回的效果,当前的activity除了监听手势之外,自身的背景一定要是透明的!并且为了配合右滑返回的效果,activity进场的动画也不能采用默认的动画,应该让activity从屏幕的右侧飘进来~~activity销毁的时候向右侧飘去~~~

Activity转场动画(透明Activity)_第1张图片

滑动中透明的Activity效果如上图所示:

首相在styles.xml中自定义一个转场的样式:

activityOpenEnterAnimation:A打开B,B进入时候的动画

activityOpenExitAnimation:A打开B,A消失时候的动画

activityCloseExitAnimation:B退出到A,B退出时候的动画

activityCloseEnterAnimation:B退出到A,A进入时候的动画


再将上面的样式关联到activity需要设置的样式上:

windowIsTranslucent和windowBackground就是将activity设置为透明


最后在manifest中将需要用到滑动返回的activity设置为我们自定义的样式:


通过上述的代码,我们的activity就会带有转场动画以及透明的背景啦

最后再附上转场动画的set文件:

slidein_from_right.xml



    
    
        
slideout_to_right.xml



    
    
        

滑动返回我是参考的github一个库SwipeBackActivity,源代码是监听了全屏的滑动返回事件,我把他改成了只有左边缘才会触发侧滑返回事件,我觉得这样的话,更加适合项目。

差不多该结束了,若有问题请留言,或者加我QQ:394114161




你可能感兴趣的:(android)