• AndroidActivity之间跳转动画


       原来使用Activity.overridePendingTransition来自定义Activity的进入动画。现在发现用Theme和Style也可以实现。

    具体是这样子的:

    在AndroidManifest里面,对于application和activity标签可以定义theme属性。如果对Application定义了某一个属性,那么会对所有的activity产生影响。

      

    然后在values/themes.xml中

    <style name="ThemeActivity" mce_bogus="1">        

    <item name="android:windowAnimationStyle">@style/AnimationActivity</item>        

    <item name="android:windowNoTitle">true</item>      

    </style>  

    在values/styles.xml中

    <style name="AnimationActivity" parent="@android:style/Animation.Activity" mce_bogus="1">    

    <item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>          

    <item name="android:activityOpenExitAnimation">@anim/push_left_out</item>          

    <item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>   

    <item name="android:activityCloseExitAnimation">@anim/push_right_out</item>      

    </style>  

    这样就可以了,至于anim中的动画,就自己定义啦,这个和普通的animation是一样的,如果不知道的话,请参见

    http://developer.android.com/guide/topics/graphics/view-animation.html

    这种方式除了可以定义activity的animation之外,还有task,window出现和结束时候的动画,具体请参见

    http://developer.android.com/reference/android/R.styleable.html#WindowAnimation

    本人不明白的 mce_bogus="1" 是什么意思,去掉了也没有影响


    附普通切换效果动画:

    Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。
    它包括两个部分:
    一部分是第一个activity退出时的动画;
    另外一部分时第二个activity进入时的动画;

    在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是
    overridePendingTransition
    这个函数有两个参数,第一个参数是第二个activity进入时的动画,第二个参数是第一个activity退出时的动画。

    这里需要特别说明的是,关于overridePendingTransition这个函数,有两点需要主意:
    1.它必需紧挨着startActivity()或者finish()函数之后调用
    2.它只在android2.0以及以上版本上适用

    下面举个例子

    overridePendingTransition(R.anim.push_left_in,R.anim.push_left_out);

    R.anim.push_left_in,第二一个activity进入时动画

    push_left_in这个xml文件,放在res/anim目录下

    代码如下:
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="300"/>
        <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />
    </set>
     
    R.anim.push_left_out,第一个activity出去时动画

    代码如下:

    <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="300"/>
        <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="300" />
    </set>
        
        

  • 相关阅读:
    剑指 Offer 67. 把字符串转换成整数 && Leetcode 8 字符串转换整数 (atoi)
    剑指 Offer 49. 丑数 && Leetcode 264. 丑数 II
    [LeetCode] Implement strStr()
    [LeetCode] Rotate Image
    [LeetCode] Remove Duplicates from Sorted List II
    [LeetCode] Gas Station
    OpenCV-paper detection & perspective transformation 相关资料
    Install PIL on mac osX10.9
    为什么是 n(n+1)/2 ?
    数组排序
  • 原文地址:https://www.cnblogs.com/crane13/p/3150155.html
Copyright © 2020-2023  润新知