Android(安卓)Activity 启动/退出 动画效果
16lz
2021-12-04
- packagecom.xiaoma.betweenactivityanimation;
- importandroid.app.Activity;
- importandroid.content.Intent;
- importandroid.os.Bundle;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- /**
- *@Title:BetweenActivityAnimationDemoActivity.java
- *@Packagecom.xiaoma.betweenactivityanimation
- *@Description:Activity之间跳转动画学习如果怕动画太短看不清楚的,
- *可以把动画XML文件里面标签属性during值设置的长些
- *@authorXiaoMa
- */
- publicclassBetweenActivityAnimationDemoActivityextendsActivityimplements
- OnClickListener{
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- init();
- }
- privatevoidinit(){
- findViewById(R.id.button1).setOnClickListener(this);
- }
- @Override
- publicvoidonClick(Viewv){
- if(v.getId()==R.id.button1){
- Intentintent=newIntent(getApplicationContext(),
- BetweenActivityAnimationDemoActivity2.class);
- startActivity(intent);
- /**
- *对下面这个方法的官方解释如下,版本从2.0后开始哦
- *CallimmediatelyafteroneoftheflavorsofstartActivity(Intent)orfinish()
- *tospecifyanexplicittransitionanimationtoperformnext.
- *用工具查到解释为:
- *在startActivity(Intent)或finish()之法之后调用后,会立即用一个指定的描述动画的XML文件来执行
- *下一个Activity
- *
- *1.enterAnimAresourceIDoftheanimationresource
- *tousefortheincomingactivity.Use0fornoanimation.
- *2.exitAnimAresourceIDoftheanimationresource
- *tousefortheoutgoingactivity.Use0fornoanimation.
- *一:进入动画一个动画资源,用于目标Activity进入屏幕时的动画,此处写0代表无动画
- *二:退出动画一个动画资源,用于当前Activity退出屏幕时的动画,此处写0代表无动画
- *
- *这个目标、当前怎么理解?比如:startActivity(A(当前)-->B(目标))《finish()一样》
- *下面参数中有一个为0,就表示A退出时无动画...
- *overridePendingTransition(R.anim.zoom_enter,0);
- *方法两个参数与目标、当前Activity对应关系如效果下方绿色图所示
- */
- overridePendingTransition(R.anim.zoom_enter,R.anim.zoom_exit);
- }
- }
- /**列几个安卓自带的动画效果,大家可以把上面overridePendingTransition参数改下看看效果
- *实现淡入淡出的效果
- overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
- overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
- 由左向右滑入的效果
- overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
- overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
- */
- }
- <?xmlversion="1.0"encoding="utf-8"?>
- <!--zoom_exit,即类似iphone的进入效果-->
- <setxmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator"
- android:zAdjustment="top">
- <scaleandroid:fromXScale="1.0"android:toXScale=".5"
- android:fromYScale="1.0"android:toYScale=".5"
- android:pivotX="50%p"android:pivotY="50%p"
- android:duration="3000"/>
- <alphaandroid:fromAlpha="1.0"android:toAlpha="0"
- android:duration="1000"/>
- </set>
- <!--实现zoom_enter即类似iphone退出时的效果-->
- <?xmlversion="1.0"encoding="utf-8"?>
- <setxmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator">
- <scaleandroid: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="1000"
- />
- </set>
- <!--hyperspace_in浮动式动画-->
- <?xmlversion="1.0"encoding="utf-8"?>
- <alphaxmlns:android="http://schemas.android.com/apk/res/android"
- android:duration="300"
- android:fromAlpha="0.0"
- android:startOffset="1200"
- android:toAlpha="1.0"/>
- <!--hyperspace_out浮动式动画-->
- <?xmlversion="1.0"encoding="utf-8"?>
- <setxmlns:android="http://schemas.android.com/apk/res/android"android:shareInterpolator="false">
- <scale
- android:interpolator="@android:anim/accelerate_decelerate_interpolator"
- android:fromXScale="1.0"
- android:toXScale="1.4"
- android:fromYScale="1.0"
- android:toYScale="0.6"
- android:pivotX="50%"
- android:pivotY="50%"
- android:fillAfter="false"
- android:duration="700"/>
- <set
- android:interpolator="@android:anim/accelerate_interpolator"
- android:startOffset="700">
- <scale
- android:fromXScale="1.4"
- android:toXScale="0.0"
- android:fromYScale="0.6"
- android:toYScale="0.0"
- android:pivotX="50%"
- android:pivotY="50%"
- android:duration="400"/>
- <rotate
- android:fromDegrees="0"
- android:toDegrees="-45"
- android:toYScale="0.0"
- android:pivotX="50%"
- android:pivotY="50%"
- android:duration="400"/>
- </set>
- </set>
- <!--push_up_in上下滑入式-->
- <?xmlversion="1.0"encoding="utf-8"?>
- <setxmlns:android="http://schemas.android.com/apk/res/android">
- <translate
- android:duration="300"
- android:fromYDelta="100%p"
- android:toYDelta="0"/>
- <alpha
- android:duration="300"
- android:fromAlpha="0.0"
- android:toAlpha="1.0"/>
- </set>
- <!--push_up_out上下滑入式-->
- <?xmlversion="1.0"encoding="utf-8"?>
- <setxmlns:android="http://schemas.android.com/apk/res/android">
- <translate
- android:duration="300"
- android:fromYDelta="0"
- android:toYDelta="-100%p"/>
- <alpha
- android:duration="300"
- android:fromAlpha="1.0"
- android:toAlpha="0.0"/>
- </set>
更多相关文章
- Android开发学习笔记整理(16)-网络请求
- 【Android】Activity遮罩效果的实现
- android日历实现
- Android(安卓)点击赞时弹出+1向上弹出动画
- Android中使用TabHost实现类似标签栏的效果
- Android的帧布局
- Android(安卓)UI学习 -网址列表
- Android(安卓)字体效果:描边、浮雕效果
- Android脑图