在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法:
public void overridePendingTransition (int enterAnim, int exitAnim)
其中:
enterAnim 定义Activity进入屏幕时的动画
exitAnim 定义Activity退出屏幕时的动画
overridePendingTransition 方法必须在startActivity()或者 finish()方法的后面。
Android已经内置了几种动画效果,可以见 android.R.anim 类。一般情况下我们需要自己定义屏幕切换的效果。首先我们先了解Activity的位置定义,如下图:
从上图可以看出,以手机屏幕下面边未X轴,屏幕左边为Y轴,当Activity在X轴值为-100%p时,刚好在屏幕的左边(位置1),当X轴值为0%p时,刚好再屏幕内(位置2),当X=100%p时刚好在屏幕右边(位置3)。
从一到二位置:
从二到一位置:
从三到二位置:
清楚了位置后,我们就可以实现左右滑动的切换效果,首先让要退出的Activity从位置2移动到位置1,同时让进入的Activity从位置3移动位置2,这样就能实现从左右切换效果。
实现过程如下,首先定义2个动画,在 res目录创建anim目录, 然后在目录创建动画的xml文件:out_to_left.xml (从左边退出动画) 、in_from_right.xml(从右边进入动画)
in_from_right.xml (从 位置1 移动到 位置2)
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android">
- <translate
- android:fromXDelta="-100%"
- android:toXDelta="0%"
- android:duration="300" />
- </set>
out_to_left.xml (从 位置2 移动到 位置1)
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="<a href="http://my.oschina.net/asia" class="referer" target="_blank">@android</a> :anim/accelerate_interpolator">
- <translate android:fromXDelta="0%p" android:toXDelta="-100%p"
- android:duration="500" />
- </set>
in_from_right.xml (从 位置3 移动到 位置2)
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="<a href="http://my.oschina.net/asia" class="referer" target="_blank">@android</a> :anim/accelerate_interpolator">
- <translate android:fromXDelta="100%p" android:toXDelta="0%p"
- android:duration="500" />
- </set>
注: android:fromXDelta 动画开始的位置, android:toXDelta 动画结束的位置,android:duration动画的时间。
Android 代码如下:
- public class LeftRightSlideActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- Button button = (Button)findViewById(R.id.button1);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent();
- intent.setClass(LeftRightSlideActivity.this, SlideSecondActivity.class);
- startActivity(intent);
- //设置切换动画,从右边进入,左边退出
- overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
- }
- });
- }
- }
效果图如下:
虽然左右滑动切换的实现很简单,但是对于原理的理解很重要,掌握了原理可以充分发挥想象力设计出各种各样的动画效果,希望对一些入门的新手有帮助。
相关推荐
总结,Android中的Activity切换动画是提高应用用户体验的重要手段。通过自定义动画、使用系统内置动画或创建基类来统一管理,开发者可以为应用添加各种独特的视觉效果。在实践中,应根据项目需求和用户喜好灵活选择...
总结起来,`overridePendingTransition`是Android开发中一个强大的工具,它可以让我们自由定制Activity之间的切换动画,提高应用的可玩性和用户满意度。通过对动画资源的巧妙设计和使用,开发者能够打造出独特且...
以下是对Android中Activity切换动画的详细说明: 1. **标准动画** Android系统默认提供了几种基本的切换动画,如淡入淡出、滑动等。这些动画可以通过在Manifest.xml文件中的`<activity>`标签内设置`android:...
总结来说,Android提供了多种方式来实现Activity切换动画,开发者可以根据项目需求选择适合的方法,利用Android的动画机制为用户带来更出色的视觉体验。通过熟练掌握这些动画技术,不仅可以提升应用的美观度,还能...
总结来说,Activity切换动画是Android开发中的一个重要方面,它能够增强应用的视觉表现力和用户体验。通过理解和熟练运用Android提供的动画机制,开发者可以创建出各种个性化的动画效果,同时解决特定场景下的动画...
Android中的Activity切换动画可以通过`overridePendingTransition()`方法来定制。此方法接受两个整数参数,分别代表进入(启动)动画和退出(关闭)动画的资源ID。系统提供了许多预定义的动画,如滑动、淡入淡出等...
本教程将深入探讨如何在Android中实现Activity切换动画效果。 首先,我们需要了解Activity切换动画的两种基本类型:进入(Enter)动画和退出(Exit)动画。进入动画是指当新的Activity显示时发生的动画,而退出动画...
本篇将详细介绍Android中的四种常见Activity切换动画,包括从下到上、翻页、大小从1到0以及Alpha(透明度)从1到0的变化。 首先,我们来看从下到上的切换动画。这种动画常用于模仿抽屉效果,给人一种新界面从下方拉...
Android Activity 切换动画详解及实例 Android Activity 切换动画是指从 Activity A 跳转至 Activity B 的时候,Activity A 有退出动画,Activity B 有进入动画。这个动画的实现很简单,在 startActivity(intent) ...
本篇将深入探讨Android中Activity切换动画的实现与应用。 首先,Android提供两种类型的动画:视图动画(View Animation)和属性动画(Property Animation)。视图动画主要用于改变对象的视觉外观,但不实际改变对象...
`SwitchLayout`就是这样一个专门用于实现Activity切换时动画特效的库,它的目标是为Android应用带来与iOS类似的平滑和优雅的视图切换效果。本文将深入探讨`SwitchLayout`的原理、使用方法以及如何将其集成到你的...
本文将深入探讨如何在Android中实现Activity切换动画,以及如何使用`overridePendingTransition()`方法来定制这些动画。 一、Activity切换动画类型 1. 标准动画:Android系统默认提供了几种简单的动画,如淡入淡出...
总的来说,Activity切换动画是Android应用设计中一个重要的细节,它能够提升应用的视觉吸引力和用户体验。通过学习和实践,开发者可以掌握如何创建和应用自定义动画,为自己的应用增添亮点。在实际开发中,可以参考...
本示例"Fragment,Activity切换动画demo"将展示如何实现这样的功能。 首先,我们要理解Fragment和Activity的基本概念。Activity是Android应用中的一个独立运行单元,它可以包含一个或多个Fragment。Fragment有自己...
总结一下,"activity anim"涉及了Android应用中的Activity切换动画设计,通过创建和组合不同的XML动画资源,开发者可以实现各种丰富的过渡效果,如图片放大缩小,以增加应用的视觉吸引力。在小米图库等图库应用中,...
除了简单的Activity切换动画,Android还支持共享元素动画,用于在不同Activity之间平滑地过渡公共UI元素。通过`ActivityOptions.makeSceneTransitionAnimation()`方法,可以创建包含共享元素的过渡选项,然后在启动...
在Android应用开发中,Activity是用户界面的基本单元,用于展示应用程序的不同屏幕或“视图”。...通过深入研究和理解这个示例,你将能够熟练地在你的Android应用中实现各种活动切换动画,提升用户体验。
在Android开发中,手势操作和Activity切换动画是两个重要的组件,它们极大地提升了用户界面的交互性和体验。这个"Android手势操作和Activity切换动画Demo"是一个学生练习项目,它旨在教授开发者如何实现这两种功能。...
总结,实现Android两个Activity之间的翻转动画切换主要涉及创建自定义动画XML文件、设置动画属性,以及在启动和关闭Activity时调用`overridePendingTransition()`方法。通过这种方式,我们可以为用户带来更生动、...