轻轻送送为你的App加点特效

 

前言

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

退出动画

进入动画

1 ActivityOptionsCompat options = ActivityOptionsCompat.makeScaleUpAnimation(view, 0, 0,view.getWidth(), view.getHeight());
2 ActivityCompat.startActivity(MainActivity.this, intent, options.toBundle());

还有一些从A-B,两个界面都会做zoom转场。稍微修改了下。

zoom_enter.xml

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

zoom_out.xml

这里进入退出的时候不需要scale了,不然很奇怪

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android"    
 3 android:interpolator="@android:anim/decelerate_interpolator"   
 4  android:zAdjustment="top"> //定义动画zorder的变换
 5   <!--<scale android:fromXScale="1.0" 
 6           android:toXScale=".5"-->  
 7    <!--android:fromYScale="1.0" 
 8           android:toYScale=".5"-->      
 9   <!--android:pivotX="50%p" 
10           android:pivotY="50%p"-->      
11   <!--android:duration="@android:integer/config_mediumAnimTime" />--> 
12    <alpha android:fromAlpha="1.0" 
13         android:toAlpha="0"      
14         android:duration="850"/>
15 </set>

使用

开始和进入的时候都加入这行代码, zoom_in 和 zoom_out的位置不要变

overridePendingTransition(R.animator.zoom_in,R.animator.zoom_out);

 

遇到的问题

  • 在android studio 上加运行的时候,加了instan run ,导致有时修改后没有效果,需要卸载才有,当时纠结了好一阵
  • 动画属性值

 

posted @ 2016-08-25 15:18  火龙裸先生  阅读(281)  评论(0编辑  收藏  举报