zoukankan      html  css  js  c++  java
  • android activity动画anim

    当我们不满足于系统默认的activity动画交互方式,我们可以通过在主题里面,指定activity动画样式来实现自定义交互效果

    在style里面定义样式

    <style name="DarkTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowAnimationStyle">@style/activityAnimationUpDown</item>
    </style>
    <style name="activityAnimationUpDown" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@android:anim/fade_in</item>
        <item name="android:activityOpenExitAnimation">@android:anim/fade_in</item>
        <item name="android:activityCloseEnterAnimation">@android:anim/fade_out</item>
        <item name="android:activityCloseExitAnimation">@android:anim/fade_out</item>
    </style>

    在androidManifest.xml里面,对指定的activity使用该主题

    <activity android:name=".MyActivity"
        android:theme="@style/DarkTheme.upDown" />

    <item name="android:activityOpenEnterAnimation">@android:anim/fade_in</item>
    <item name="android:activityOpenExitAnimation">@android:anim/fade_in</item>
    <item name="android:activityCloseEnterAnimation">@android:anim/fade_out</item>
    <item name="android:activityCloseExitAnimation">@android:anim/fade_out</item>

    按照顺序我们简单的记忆口诀是“新进、旧出;旧进、新出”;

    不用担心顺序搞混的问题,android studio重新排版的顺序就是按照这个顺序来的。

    当新、旧两个activity都是用这个动画主题时,进入、退出动画是正常的。(这种情况一般都是我们在Application里面统一指定的所有activity的交互动画。)
    一旦两者之中,所使用的动画主题不一致的时候,交互就出现问题了。

    具体为:
    旧activity没有、新activity有主题;进入动画用新的,退出动画用旧的 (退出动画“失效”)
    旧activity有主题,新activity没有:进入动画用旧的, 退出动画用新的 (进入动画“失效”)

  • 相关阅读:
    计算与软件工程 作业一
    C语言程序设计数组实验实验报告
    C语言程序设计第五次实验报告
    C语言程序设计第四次实验报告
    C语言程序设计第三次实验报告
    C程序设计实验报告第二次实验
    关于证书如何完成身份验证(SSL证书)
    openflow流表项中有关ip掩码的匹配的问题(控制器为ryu)
    解决sublime安装插件被墙失败的方法
    区块链技术与应用(二)之比特币中的数据结构
  • 原文地址:https://www.cnblogs.com/ice5/p/14111426.html
Copyright © 2011-2022 走看看