• activity切换交互动画


    activity切换的时候,想要有动画,那么。。。
    1.想要有效果的activity设置theme

            <activity
                android:name=".MainActivity"
                android:theme="@style/firstActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>

    2.写style

        <style name="firstActivity">
            <item name="android:windowAnimationStyle">@style/AnimationActivity</item>
        </style>
    
        <style name="AnimationActivity" parent="@android:style/Animation.Activity">
            <item name="android:activityOpenEnterAnimation">@anim/in_from_right</item>
    
            <item name="android:activityOpenExitAnimation">@anim/out_from_left</item>
    
            <item name="android:activityCloseEnterAnimation">@anim/in_from_left</item>
    
            <item name="android:activityCloseExitAnimation">@anim/out_from_right</item>
    
        </style>

    这4个属性什么意思呢?假设我们有 2 个 Activity,分别是 A1 和 A2:
    •当我们从 A1 启动 A2 时,A1 从屏幕上消失,这个动画叫做 android:activityOpenExitAnimation
    •当我们从 A1 启动 A2 时,A2 出现在屏幕上,这个动画叫做 android:activityOpenEnterAnimation
    •当我们从 A2 退出回到 A1 时,A2 从屏幕上消失,这个叫做 android:activityCloseExitAnimation
    •当我们从 A2 退出回到 A1 时,A1 出现在屏幕上,这个叫做 android:activityCloseEnterAnimation

    注意,一定要写四个,写的少了,那么会有一半黑屏。因为动画分为两半,只写一半不行。
    思考的时候,想好从哪里进,返回的时候相反的方向出就行了。

    3.4个xml

    in_from_left.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <!--
    author:Remex Huang
    website:feelyou.info
    -->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:fromXDelta="-100%p"
        android:fromYDelta="0"
        android:toXDelta="0"
        android:toYDelta="0" >
    
    </translate>
    in_from_right.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <!--
    author:Remex Huang
    website:feelyou.info
    -->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:fromXDelta="100%p"
        android:fromYDelta="0"
        android:toXDelta="0"
        android:toYDelta="0" >
    
    </translate>
    out_from_left.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <!--
    author:Remex Huang
    website:feelyou.info
    -->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="-100%p"
        android:toYDelta="0" >
    
    </translate>
    out_from_right.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <!--
    author:Remex Huang
    website:feelyou.info
    -->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="100%p"
        android:toYDelta="0" >
    
    </translate>

    5,OK了。不过首页面应该没有这个效果。

  • 相关阅读:
    Java统计程序运行时间(转)
    有符号定点数的表示方法
    移位运算符
    索引
    self与super的区别(转)
    Java经典题型(未完成)
    ObjectiveC 的 self 和 super 详解
    边界计算与不对称边界
    各种排序总结
    运算符的优先级
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/6647932.html
Copyright © 2020-2023  润新知