android 页面切换动画效果

来源:互联网 发布:越狱后cydia网络错误 编辑:程序博客网 时间:2024/04/30 03:21

如下一个例子:

Animation animation1 = AnimationUtils.loadAnimation(HomeActivity.this, R.anim.my_rotate_action);

searchImageView.startAnimation(animation1);

 

在2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入,

 

@Override 
      public void onCreate(Bundle savedInstanceState) { 
              super.onCreate(savedInstanceState); 
              setContentView(R.layout.SplashScreen); 
 
              new Handler().postDelayed(new Runnable() { 
                      @Override 
                      public void run() { 
                              Intent mainIntent = new Intent(SplashScreen.this,     AndroidNews.class); 
                              SplashScreen.this.startActivity(mainIntent); 
                              SplashScreen.this.finish(); 
 
                              overridePendingTransition(R.anim.mainfadein, 
                                      R.anim.splashfadeout); 
                      } 
              }, 3000); 
      }

上面的代码只是闪屏的一部分

getWindow (). setWindowAnimations ( int );  
这可没有上个好但是也可以

 

实现淡入淡出的效果

overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out); 

由左向右滑入的效果

overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right); 

实现zoomin和zoomout,即类似iphone的进入和退出时的效果

overridePendingTransition(R.anim.zoomin, R.anim.zoomout); 

新建zoomin.xml文件

<?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" android:toXScale="1.0"
           android:fromYScale="2.0" android:toYScale="1.0"
           android:pivotX="50%p" android:pivotY="50%p"
           android:duration="@android:integer/config_mediumAnimTime" />
</set>

新建zoomout.xml文件

<?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">
    <scale android:fromXScale="1.0" android:toXScale=".5"
           android:fromYScale="1.0" android:toYScale=".5"
           android:pivotX="50%p" android:pivotY="50%p"
           android:duration="@android:integer/config_mediumAnimTime" />
    <alpha android:fromAlpha="1.0" android:toAlpha="0"
            android:duration="@android:integer/config_mediumAnimTime"/>
</set>

原创粉丝点击