轻轻松松为你的app加点特效

作者: 岁月留痕 | 来源:发表于2016-07-08 13:45 被阅读1301次

    前言

    今天突然在一个应用中看到一个转场动画,蛮有意思的

    退出动画


    zoom_out.gif

    退出动画


    zoom_in.gif

    咋一看,以为是一个zoomView的动画,网上搜了一下,使用转场动画就能做到,但是网上的有点不大适用,
    这是从stackoverflow上找到的,但是不能控制时间,和设置像透明值等属性

    ActivityOptionsCompat options = ActivityOptionsCompat.makeScaleUpAnimation(view, 0, 0,view.getWidth(), view.getHeight());
    ActivityCompat.startActivity(MainActivity.this, intent, options.toBundle()); ```
    还有一些从A-B,两个界面都会做zoom转场。稍微修改了下。
    <pre>zoom_enter.xml</pre>
    

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/decelerate_interpolator"> //动画插值器
    <scale android:fromXScale="2.0" // x轴从两杯的地方开始
    android:toXScale="1.0" // x轴缩放到1倍,即真实位置
    android:fromYScale="2.0"// y轴从两杯的地方开始
    android:toYScale="1.0" // y轴缩放到1倍,即真实位置
    android:pivotX="50%p" //缩放位置 y轴的一半
    android:pivotY="50%p" //缩放位置 y轴的一半
    android:duration="850" /> //动画持续时间
    </set>

    <pre>zoom_out.xml</pre>
    这里进入退出的时候不需要scale了,不然很奇怪
    

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:zAdjustment="top"> //定义动画zorder的变换


    <alpha android:fromAlpha="1.0"
    android:toAlpha="0"
    android:duration="850"/>
    </set>

    
    #使用
    开始和进入的时候都加入这行代码, zoom_in 和 zoom_out的位置不要变
    ``` overridePendingTransition(R.animator.zoom_in,R.animator.zoom_out);``` 
    
    #遇到的问题
    - 在android studio 上加运行的时候,加了instan run ,导致有时修改后没有效果,需要卸载才有,当时纠结了好一阵
    - [动画属性值](http://blog.csdn.net/yanbober/article/details/46481171)

    相关文章

      网友评论

      • 谭冉冉:推荐用JRebel for Android,你遇到的instan run问题都可以解决.速度比instan run快几倍
        岁月留痕:@谭冉冉 xx版吧?昨天刚用上,挺好的
        谭冉冉:@岁月留痕 有方法可以无限试用。
        岁月留痕:@谭冉冉 看到汤涛老师推荐过,好像是收费的,只有21天的免费,等下试试看,谢谢:blush:
      • 36a453c057aa:有没有觉得instan run很鸡肋 有时候改完代码他还不识别。。。我用了几天真是受不了 关掉了
        岁月留痕:@我是启昌 还好吧,只是有时会有这样的问题,clean下项目就好了,项目大了的话没有这个功能会很蛋疼,要相信Google会做得越来越好:smile:

      本文标题:轻轻松松为你的app加点特效

      本文链接:https://www.haomeiwen.com/subject/fcxrjttx.html