zoukankan      html  css  js  c++  java
  • Activity 切换动画

    如果想设定应用的activity之间切换可以使用下面的属性

    activityOpenEnterAnimation

    activityOpenExitAnimation

    activityCloseEnterAnimation

    activityCloseExitAnimation

    他们的关系如下:

    <style name="AppTheme" parent="android:Theme.Light">
            <item name="android:windowNoTitle">true</item>
            <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>
    
     <application
            android:name=".MainApp"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >

    使用代码设置

    public void  overridePendingTransition (int enterAnim, int exitAnim)      API level 5

    enterAnim resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.

    exitAnim resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation. 

    动态的修改activity切换时的动画, 要在startActivity(Intent) 或者 finish() 之后调用。

    比如从打开一个页面,从当前页面的底部向上滑出,当前页面不动。

    bottom_up.xml 往上滑出现

    <?xml version="1.0" encoding="utf-8"?> 
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
      android:duration
    ="@android:integer/config_mediumAnimTime"
      android:fromYDelta
    ="100%"
      android:toYDelta
    ="0"
    />

    up_bottom.xml 向下滑消失

    <?xml version="1.0" encoding="utf-8"?>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromYDelta="0"
        android:toYDelta="100%" />

    still.xml 不变的动画,透明度不变

    <?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="300"
        android:fromAlpha="1.0"
        android:toAlpha="1.0" />

    当前页面打开新页面:

    startActivity(intent);

    overridePendingTransition(R.anim.bottom_up, 0);

    (这里退出的动画设为0的话,新界面出来的时候,当前页面在后面会消失掉,可以设一个不变的动画来解决:

    overridePendingTransition(R.anim.bottom_up, R.anim.still);)

    新页面退出:

    finish(); overridePendingTransition(0, R.anim.up_bottom);

  • 相关阅读:
    this.get_element .style为空或不是对象
    在server2008R2的IIS7中调试asp程序遇到的错误
    Server.Transfer 在两个窗体之间传递参数用法
    页面事务处理 ContextUtil.SetComplete(); 没有 MTS 对象上下文
    VS2008切换设计视图卡死 停止响应
    javascript对象小结
    [JavaScript] 最低公用标准的浏览器文档对象层次
    Linq 此提供程序只支持对返回实体或投影(包含所有标识列)的有序查询使用 问题的解决
    [Design] Factory Pattern
    [Database] SqlServer: Linq to Sql THE DATACONTEXT Change Processing
  • 原文地址:https://www.cnblogs.com/zijianlu/p/2782245.html
Copyright © 2011-2022 走看看