Android(安卓)Activity界面切换添加动画特效
16lz
2021-01-24
在Android 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>
以下是几个常用的动画切换效果,可供选择
/*注意,切换方法overridePendingTransition只能在startActivity和finish方法之后调用。第一个参数为第一个Activity离开时的动画,第二参数为所进入的Activity的动画效果*///淡入淡出效果overridePendingTransition(R.anim.fade, R.anim.hold);//放大淡出效果overridePendingTransition(R.anim.my_scale_action,R.anim.my_alpha_action);//转动淡出效果overridePendingTransition(R.anim.scale_rotate,R.anim.my_alpha_action);//转动淡出效果overridePendingTransition(R.anim.scale_translate_rotate,R.anim.my_alpha_action);//左上角展开淡出效果overridePendingTransition(R.anim.scale_translate,R.anim.my_alpha_action);//压缩变小淡出效果overridePendingTransition(R.anim.hyperspace_in,R.anim.hyperspace_out);//右往左推出效果overridePendingTransition(R.anim.push_left_in,R.anim.push_left_out);//下往上推出效果overridePendingTransition(R.anim.push_up_in,R.anim.push_up_out);//左右交错效果overridePendingTransition(R.anim.slide_left,R.anim.slide_right);//放大淡出效果overridePendingTransition(R.anim.wave_scale,R.anim.my_alpha_action);//缩小效果overridePendingTransition(R.anim.zoom_enter,R.anim.zoom_exit);//上下交错效果overridePendingTransition(R.anim.slide_up_in,R.anim.slide_down_out);
更多相关文章
- android控件之spinner (下拉列表)
- Android(安卓)屏幕常亮
- Android(安卓)3.0动画系统详解
- Android之SharedPreferences对参数数据的存取
- android 获取Service(服务)的运行状态
- 摘抄代码没测试 发起程序的返回顺序以及恩enter建取消输入法
- Android打造炫酷进度条效果
- 【Animation】 使用handler和Runnable实现某一个控件的抖动效果
- 【Appium + Python3】之安卓8.1,使用xpath定位不到元素