Activity左边滑出,右边滑入的动画切换

Activity左边滑出,右边滑入的动画切换

转载请注明出处:http://blog.csdn.net/u012301841/article/details/46920809

大家都知道Android系统默认Activity间的动画切换效果为:左边滑出、右边滑入,按返回键的动画切换效果为:左边滑入,右边滑出。但是现在的手机制造商都定制自己的Rom,像MI UI和锤子OS等之类的手机,导致Android原生的切换动画在不同的手机上发生了改变,有时候我们需要让他变回原生的状态。

这是我在网上盗的一张图,它清晰的告诉我们Android的位移动画的变换方式:

下面就是具体的实现过程了:

写动画文件

在 res目录创建anim目录, 然后在目录创建动画的xml文件:out_to_left.xml (从左边退出动画) 、in_from_right.xml(从右边进入动画)

out_to_right.xml(从右边退出动画)、in_from_left.xml(从左边进入动画)

in_from_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="-100%p"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toXDelta="0%p" >

</translate>

in_from_right.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="100%p"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toXDelta="0%p" >

</translate>

out_to_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0%p"
    android:toXDelta="-100%p"
    android:interpolator="@android:anim/accelerate_interpolator" >

</translate>

out_to_right.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0%p"
    android:toXDelta="100%p"
    android:interpolator="@android:anim/accelerate_interpolator" >

</translate>

写主题文件

在values文件夹中打开style.xml的文件,在其中插入一个style节点,声明一个主题。

    <style name="Anim_fade" parent="android:Theme.NoTitleBar">
        <item name="android:windowAnimationStyle">@style/fade</item>
    </style>

可以看到,以上主题的父主题是@android :style/Theme.NoTitleBar, 就是继承自系统主题的大部分属性。

其中有一个”android:windowAnimationStyle”属性是由我们自定义的,定位的位置同样在values目录下的style文件中。

    <style name="fade" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/in_from_right</item>
        <item name="android:activityOpenExitAnimation">@anim/out_to_left</item>
        <item name="android:activityCloseEnterAnimation">@anim/in_from_left</item>
        <item name="android:activityCloseExitAnimation">@anim/out_to_right</item>
    </style>

下面重点介绍这其中的几个属性的含义,大家网上搜一下也是可以的,我就直接将我所了解的说一下了:

现在假设有两个Activity A 和 B,在A中可以启动B。同时,A和B的theme属性均设置为上面定义的属性。那么,以上动画的发生时机如下:

(1)当A启动B时,A退出,B进入,A退出时的动画名称为android:activityOpenExitAnimation,动画文件为

R.anim.out_to_left,B进入时的动画名称为android:activityOpenEnterAnimation, 动画文件为R.anim.in_from_right。

(2)当B结束时,B退出,A进入。B退出的动画名称为android:activityCloseExitAnimation, 动画文件为R.anim.out_to_right, A进入时的动画名称为android:activityCloseEnterAnimation, 动画文件为R.anim.in_from_left。

以上全部ok了,我们就能看到想要的效果了。约了基友网上打LOL的,让他等了2个多小时了,估计等会会被骂死,效果图就不贴了,代码已上传,需要的话可以下载看看。

代码下载:http://download.csdn.net/detail/u012301841/8907457

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-28 21:22:07

Activity左边滑出,右边滑入的动画切换的相关文章

ios 页面滑入滑出

从左边滑进 CGRect r1,r2; r1 = app.testview.view.frame; r2 = self.view.frame; [app.testview.view setFrame:CGRectMake(320, r1.origin.y,r1.size.width,r1.size.height)]; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.4]; [app.window a

利用jQuery实现,蒙板随鼠标滑入滑出

今天学习了jQuery的一些知识点,做了一个练习:实现蒙板随鼠标移动,从元素的四个方向滑入滑出.如图: jQuery知识点: 定位:获取相对于父元素的偏移量           position().left           position().top 获取元素相对于当前窗口的偏移量           offset().left           offset().top 步骤: 1.创建父元素.当前对象.蒙板 代码如下: <div class="wrap">  

div层的滑入滑出实例

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src

JS——侧栏导航点击滑入滑出效果

对于定位的侧栏导航点击滑入滑出这一效果,我想很多人都明白原理,并且很简单的就能运用JS+Jquery就能做出.而且是一个非常常见的简单效果.在此呢,小码哥只是为了自己以后能够翻看,还有就是给那些刚入门javascript的新人们一点启发. 作为入门javascript的人来说,明白一个效果是怎么实现的尤为重要.即原理是怎么回事尤为重要!小码哥昨天在路上偶遇一应届毕业生,刚从青岛来北京找工作.是学计算机的,C及C++起步,由此基础,我说你学什么语言都有优势.必定逻辑基础有了不是!? 废话不说了,直

WPF技术触屏上的应用系列(五): 图片列表异步加载、手指进行缩小、放大、拖动 、惯性滑入滑出等效果

原文:WPF技术触屏上的应用系列(五): 图片列表异步加载.手指进行缩小.放大.拖动 .惯性滑入滑出等效果 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体机.要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作.当然满足客户的要求也可以有其它途径.但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用.所以在项目接来以后,也就赶鸭子上架了,经过努力

类似通讯录分组的Android PinnedSectionListView,且分组标签悬停滑入滑出

 <类似通讯录分组的Android PinnedSectionListView,且分组标签悬停滑入滑出> 常用的联系人.通讯录,会按照联系人的姓氏从A,B,C,,,X,Y,Z,这样归类排列下去,方便用户快速查找和定位.PinnedSectionListView是一个第三方的开源框架,在github上的链接地址是:https://github.com/beworker/pinned-section-listview .Android PinnedSectionListView不仅是一个实现上

jQuery动画效果之滑入滑出slideDown,slideUp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title>滑入滑出</title> <meta charset="UTF-8"> <style type="text/css&q

android Activity实现从底部弹出或滑出选择菜单或窗口

alert_dialog.Xml代码   <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_con

zrender-横坐标的滑入,滑出,颜色改变

效果图:(鼠标滑动上,文字变色,滑出也变色) 原文地址:https://www.cnblogs.com/snowbxb/p/12408245.html