`
gybin
  • 浏览: 272000 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android的activity平滑水平切换动画

 
阅读更多

http://www.cnblogs.com/Jaylong/archive/2012/08/30/activity.html

 

 

1.首先在manifest.xml中定义application节点的主题

  <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

2.AppTheme是在styles中定义的

  <style name="AppTheme" parent="@android:style/Theme">     
        <item name="android:windowNoTitle">true</item> <!-- 设置没有标题 -->
        <item name="android:textSize">20sp</item>   <!-- 设置文本大小 -->
          <item name="android:textColor">#F34141</item>
        <item name="android:background">@android:color/background_light</item>
    
    <!-- 设置activity切换动画 --> 
        <item name="android:windowAnimationStyle">@style/activityAnimation</item>
    </style>

    <!-- animation 样式 -->
    <style name="activityAnimation" parent="@android:style/Animation">
        <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>

 <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>
<item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
</style>

 

 

具体代码在链接里。

 

http://blog.csdn.net/wangkuifeng0118/article/details/7566897

  在之前的一篇博客里介绍过activity间动画跳转的问题,但是真正做软件发现并不能满足我们的要求,因为使用overridePendingTransition(int enterAnim, intexitAnim)这个函数只能实现进入另一个activity的动画,当另一个activity退出时,还是使用的系统动画。所以在这里讲一下怎么设置所有activity的动画跳转和退出跳转。其实有些软件已经这样做了,比如我们都比较熟悉的大众点评网。

         下面我们通过一个实例来看一下怎么实现所有activity动画跳转,这里我们不妨就模仿下大众点评网activity的动画跳转。

         首先在layout/anim新建    anim_enter.xml

 

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <set android:interpolator="@android:anim/decelerate_interpolator"  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.     <scale android:duration="@android:integer/config_mediumAnimTime" android:pivotX="69.99999%" android:pivotY="100.0%" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" />  
  5.     <alpha android:duration="@android:integer/config_mediumAnimTime" android:fromAlpha="0.0" android:toAlpha="1.0" />  
  6. </set>  
           anim_exit.xml
[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <set android:interpolator="@android:anim/accelerate_interpolator"  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.     <scale android:duration="@android:integer/config_mediumAnimTime" android:pivotX="69.99999%" android:pivotY="100.0%" android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0" android:toYScale="0.0" />  
  5.     <alpha android:duration="@android:integer/config_mediumAnimTime" android:fromAlpha="1.0" android:toAlpha="0.0" />  
  6. </set>  
       上面的两个xml分别对应overridePendingTransition(int enterAnim, int exitAnim) 中的进入和退出动画

 

     接下来定义当另一个activity退出时的动画效果,back_enter.xml

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <set android:interpolator="@android:anim/decelerate_interpolator"  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.     <scale android:duration="@android:integer/config_mediumAnimTime" android:pivotX="50.0%" android:pivotY="50.0%" android:fromXScale="1.5" android:toXScale="1.0" android:fromYScale="1.5" android:toYScale="1.0" />  
  5.     <alpha android:duration="@android:integer/config_mediumAnimTime" android:fromAlpha="0.4" android:toAlpha="1.0" />  
  6. </set>  

      back_exit.xml

 

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <set android:interpolator="@android:anim/decelerate_interpolator"  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.     <scale android:duration="@android:integer/config_mediumAnimTime" android:pivotX="50.0%" android:pivotY="50.0%" android:fromXScale="1.0" android:toXScale="0.4" android:fromYScale="1.0" android:toYScale="0.4" />  
  5.     <alpha android:duration="@android:integer/config_mediumAnimTime" android:fromAlpha="1.0" android:toAlpha="0.0" />  
  6. </set>  

     进入和退出动画效果我们已经定义好了,接下来需要定义样式,以前我们设置动画效果都是写在activity中,只是对单个activity定义动画。现在我们对所有的activity定义动画效果,我们不妨设想一下应该定义一个样式,在所有包裹activity的地方引入样式。这样我们就想到了AndroidManifest.xml里的application 了,他里面生命所有的activity,明白了这些就好办了。

 

     接下来我们需要在String.xml声明动画的样式

 

[html] view plaincopy
  1. <style name="ThemeActivity" mce_bogus="1">  
  2. <item name="android:windowAnimationStyle">@style/AnimationActivity</item>  
  3. <item name="android:windowNoTitle">true</item>  
  4. lt;/style>  
  5.         
  6.   <style name="AnimationActivity" parent="@android:style/Animation.Activity" mce_bogus="1">  
  7. <item name="android:activityOpenEnterAnimation">@anim/anim_enter</item>  
  8. <item name="android:activityOpenExitAnimation">@anim/anim_exit</item>  
  9.   
  10. <item name="android:activityCloseEnterAnimation">@anim/back_enter</item>  
  11. <item name="android:activityCloseExitAnimation">@anim/back_exit</item>  
  12.   
  13. lt;/style>  
    

 

  然后在 AndroidManifest.xml里声明样式

[html] view plaincopy
  1. <application  
  2.        android:icon="@drawable/ic_launcher" <span style="color:#FF0000;"> android:theme="@style/ThemeActivity"</span>  
  3.        android:label="@string/app_name" >  
  4.        <activity  
  5.            android:label="@string/app_name"  
  6.            android:name=".GlobalAnimationActivity" >  
  7.            <intent-filter >  
  8.                <action android:name="android.intent.action.MAIN" />  
  9.   
  10.                <category android:name="android.intent.category.LAUNCHER" />  
  11.            </intent-filter>  
  12.        </activity>  
  13.        <activity android:name=".OtherActivity"></activity>  
  14.    </application>  
分享到:
评论

相关推荐

    android Activity间切换动画效果演示源码

    在Android开发中,Activity间的切换动画是提升用户体验的重要一环。本资源提供的"android Activity间切换动画效果演示源码"涵盖了模糊、水波纹以及折叠等多种动态效果,旨在帮助开发者了解并实现各种复杂的Activity...

    Android activity切换的动画效果

    在Android中,Activity的切换动画可以通过设置`activity过渡`(Transition)来实现。过渡动画分为进入(Enter)和退出(Exit)动画,以及共享元素(Shared Element)过渡。进入和退出动画通常应用于整个Activity,而...

    2个Activity之间的切换动画效果

    在Android应用开发中,用户体验是至关重要的一个环节,而Activity之间的切换动画则能极大地提升应用的交互性和趣味性。本文将深入探讨如何实现"2个Activity之间的切换动画效果",主要涉及帧动画(Framed Animation)和...

    android里activity切换动画集合

    本篇将深入探讨Android中Activity切换动画的实现与应用。 首先,Android提供两种类型的动画:视图动画(View Animation)和属性动画(Property Animation)。视图动画主要用于改变对象的视觉外观,但不实际改变对象...

    android 两个activity 翻转动画切换

    在Android开发中,Activity之间的切换可以通过自定义动画来实现更加丰富的视觉效果,比如翻转动画。这不仅可以提高用户的交互体验,还能为应用增添独特的风格。本文将深入探讨如何实现两个Activity之间的翻转动画...

    Android Activity切换动画效果

    本教程将深入探讨如何在Android中实现Activity切换动画效果。 首先,我们需要了解Activity切换动画的两种基本类型:进入(Enter)动画和退出(Exit)动画。进入动画是指当新的Activity显示时发生的动画,而退出动画...

    Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS

    `SwitchLayout`就是这样一个专门用于实现Activity切换时动画特效的库,它的目标是为Android应用带来与iOS类似的平滑和优雅的视图切换效果。本文将深入探讨`SwitchLayout`的原理、使用方法以及如何将其集成到你的...

    Fragment,Activity切换动画demo

    总之,Fragment和Activity的切换动画是Android开发中的重要技巧,它能帮助我们创建更加生动、吸引人的应用。通过熟练运用这些动画,开发者可以为用户带来更流畅、自然的操作感受,从而提升整体应用的质量和吸引力。

    Android Fragment切换动画

    当我们想要增强用户体验,使界面变化更加平滑和吸引人时,可以使用Fragment切换动画。本篇文章将深入探讨Android中的Fragment切换动画及其实现方法。 首先,理解Fragment的基本操作是必要的。在Android中,我们可以...

    android中activity跳转的几种动画

    除了简单的Activity切换动画,Android还支持共享元素动画,用于在不同Activity之间平滑地过渡公共UI元素。通过`ActivityOptions.makeSceneTransitionAnimation()`方法,可以创建包含共享元素的过渡选项,然后在启动...

    android手势及activity切换动画效果

    在Android开发中,手势识别和Activity之间的切换动画是提升用户体验的重要方面。本文将详细探讨这两个核心知识点,并提供相应的实现策略。 一、手势识别 1. 基本手势:Android支持多种基本手势,如滑动(Swipe)、...

    Android Activity切换动画 时间日期选择器.rar

    在Android开发中,Activity的切换动画是提升用户体验的重要一环,它可以使得应用的交互更加流畅且具有视觉吸引力。"Android Activity切换动画 时间日期选择器.rar"这个资源包中,包含了不同类型的Activity切换动画...

    activity anim

    总结一下,"activity anim"涉及了Android应用中的Activity切换动画设计,通过创建和组合不同的XML动画资源,开发者可以实现各种丰富的过渡效果,如图片放大缩小,以增加应用的视觉吸引力。在小米图库等图库应用中,...

    Android下Fragment的动画切换效果

    在实现Fragment动画切换时,Android提供了两种主要的动画类型:进入动画(Enter Animation)和退出动画(Exit Animation)。此外,还有共享元素动画(Shared Element Transition),它可以实现Fragment之间特定视图...

    Android滑动切换tab(切换带动画)

    本教程将深入探讨如何在Android应用中实现带有动画效果的滑动切换Tab功能。 首先,我们需要理解Tab的基本概念。在Android中,Tab通常用于展示多个相关但互不干扰的视图,用户可以通过滑动或者点击Tab标签来切换不同...

    android Activity添加动画效果

    在"android Activity添加动画效果"的场景下,我们通常会使用过渡动画(Transition Animation),这是在API级别16(Android 4.1)引入的一种视图动画,主要用于Activity间的切换。过渡动画包括进入动画(enter ...

    Activity仿qq进场切换动画

    在Android开发中,Activity的入场切换动画是一种提升用户体验的重要手段,它可以给用户带来更生动、更有趣的操作感受。本文将详细讲解如何实现“Activity仿qq进场切换动画”,并结合Eclipse IDE来阐述整个过程。 ...

    Android的Activity跳转动画

    在Activity跳转时,Android默认使用一个平滑过渡的动画,但开发者可以根据需求定制动画效果。 2. 默认动画: 在不自定义的情况下,Android系统会自动为Activity的启动和关闭提供两种默认动画:slide_in_left/slide_...

    Android实现activity切换特效_动画效果.zip

    - 默认情况下,Activity切换是平滑的,但可以通过自定义动画来改变这一行为。 2. **设置过渡动画**: - 在Android中,可以使用`android:activityOpenEnterAnimation`和`android:activityOpenExitAnimation`属性在...

    android动画activity切换特效

    在Android开发中,动画是提升用户体验的关键因素之一,特别是在Activity之间的切换效果上。"android动画 切换特效"主要涉及到Android中的Transition Animation和Shared Element Transition,这两种技术可以帮助...

Global site tag (gtag.js) - Google Analytics