在介绍切换动画效果前,先介绍下将使用到的Android SDK提供的工具类。
AlphaAnimation:控制动画对象的透明度,淡入淡出效果实现。
TranslateAnimation:控制动画对象的位置,实现对象位置的移动动画。
Animation:动画抽象类。
AnimationUtils:提供了动画的一些常用方法。
通过XML方式定义动画的形式。
更多的动画说明文档请看:http://android.toolib.net/guide/topics/resources/animation-resource.html
一、淡入淡出方式切换
1、建立Activity淡入动画的XML描述enter_alpha.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="1.0" //1表示完全不透明, 0表示完全透明。这里设置起始透明度
android:duration="5000" //动画时间,5s
android:toAlpha="0" //设置结束透明度 />
</set>
2、建立Activity淡出动画的XML描述out_alpha.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0"
android:duration="5000"
android:toAlpha="1.0" />
</set>
上述的xml文件存放路径,在res路径下新建文件夹anim,存放在此文件夹下。
在JAVA中调用动画资源方式:R.anmi.文件名
在XML中:@[package:]anim/文件名
3、设计主Activity界面main.xml
原型图效果:
界面XML描述:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="change"
android:text="淡入淡出Activity"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="change2"
android:text="滚动切换Activity"
/>
</LinearLayout>
打开MainActivity定义“淡入淡出Activity”按钮的change事件:
public void change(View v){
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.out_alpha, R.anim.enter_alpha);
}
4、设计第二个Activity界面other.xml,并添加Activity信息到AndroidManifest.xml
原型图效果:
创建第二个Activity界面OtherActivity类:
package mr.jin.activity;
import android.app.Activity;
import android.os.Bundle;
public class OtherActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
}
}
添加Activity信息:
<activity android:name=".OtherActivity" android:label="otherActivity">
界面XML描述:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#0000ff"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="这是第二个Activity界面"
/>
</LinearLayout>
到这里,淡入淡出切换Activity已经完成。
二、滚动方式切换
在实现淡入淡出时,界面已经设计完成,这里只需要实现动画部分。
1、Activity滚入XML动画描述lefttoright.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%p"//动画对象的起始X坐标
android:toXDelta="0"//动画对象的结束X坐标
android:fromYDelta="0"//这里是横向移动,所以Y坐标无需改变,始终是0
android:toYDelta="0"
android:duration="5000"//动画时间5s
/>
</set>
2、Activity滚出XML动画描述righttoleft.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="100%p"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="5000"
/>
</set>
3、MainActivity中定义“滚动切换Activity”按钮事件
public void change2(View v){
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.lefttoright, R.anim.righttoleft);
}
案例源码下载地址:
点击下载
分享到:
相关推荐
集合了很多有趣的绚丽的界面切换效果,让你的界面切换不再单调,让你的用户体验更上一层楼
这是一个关于activity界面之间跳转的动画,效果实现方法运用到的是帧动画和TWEEN动画的交错实现。
本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值。具体方法如下: 了解Android程序设计的人应该知道,在Android 2.0之后有了...
Activity间的切换进入和出去的动画,界面间手指左右滑动进入与出去的动画,简单易懂。
Activity进场 切换动画 (仿QQ).zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面。其实Android的Activity跳转可以设置各种动画。下面给大家看看效果: 实现非常简单,用overridePendingtransition(int inId, int outId)...
NULL 博文链接:https://shuyang523.iteye.com/blog/1688739
下面小编就为大家带来一篇Activity取消界面切换的默认动画方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
实现的效果就是两个activity进行切换时候的动画,其实了解的话其实都非常简单,最近MIUI更新版本之后,现在MIUI的启动界面也采用了有底部向上部平移的动画。其中用到了ButterKnife注解,代码跟全部手写要简洁一些。 ...
这个项目实现了仿IOS切换Activity动画效果,项目已经从git上独立出来,各个效果已经分好类别,页面new调用就可以了,不会卡顿,效果如下图:
Android translate动画、scale动画、alpha动画、rotate切换动画和Activity动画效果实例,包括了切换Activity时淡出淡入,渐隐渐现效果,还有控件位置调整实例源码,注:动画切换Activity只有在新启动Activity才有效...
Activity之间的跳转和返回显得比较突兀,如果能有动画衔接跳转和返回,就可以实现Iphone效果的界面切换效果了。
使用AndroidAnnotations框架制作类似微信界面切换的功能,在一个Activity使用viewpager 切换fragment . 附带AndroidAnnotations 的jar包.
作者r0adkll,源码Slidr,非常强大的库,Slidr给activity添加好看的切换动画,可以让Activity随着向右的滑动手势退出,而且使用也非常简单。不过使用项目中的demo编译会遇到很多问题,建议只编译library,然后自己...
其实Android的转场动画由来已久,比如平常开发安卓的时候界面切换 都是右进右出,这样的效果,就是早期的转场动画,在5.0之后安卓官方支持了共享元素的效果,那么问题来了,5.0以后该怎么适配? 准备步骤 定义两个activity,...
android界面效果全汇总 ,包括activity的切换动画,菜单动画,布局属性,翻页等,还是不错的
demo2:Activity进场 切换动画 (仿QQ) demo3:android启动及欢迎界面 demo4:Android应用源码高仿墨迹天气引导界面 demo5:超炫丽viewpager用户引导 demo6:仿赶集生活android客户端的介绍动画界面 demo7:欢迎...