• activity动画主题使用注意事项


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

    在style里面定义样式

    <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        </style>
    
        <style name="AppTheme.upDown" parent="AppTheme">
            <item name="android:windowAnimationStyle">@style/activityAnimationUpDown</item>
        </style>
        <style name="activityAnimationUpDown" parent="@android:style/Animation.Activity">
            <item name="android:activityOpenEnterAnimation">@anim/slide_in_bottom</item>
            <item name="android:activityOpenExitAnimation">@anim/slide_out_top</item>
            <item name="android:activityCloseEnterAnimation">@anim/slide_in_top</item>
            <item name="android:activityCloseExitAnimation">@anim/slide_out_bottom</item>
        </style>

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

      <activity
                android:name=".Main2Activity"
                android:theme="@style/AppTheme.upDown" ></activity>

    这四个属性容易不好记,按照顺序我们简单的记忆口诀是“新进、旧出;旧进、新出”;

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

    当新、旧两个activity都是用这个动画主题时,进入、退出动画是正常的。(这种情况一般都是我们在Application里面统一指定的所有activity的交互动画。)

    一旦两者之中,所使用的动画主题不一致的时候,交互就出现问题了。

    具体为:

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

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

    很多都是第二种情况,那么如何让退出动画产生效果呢,代码如下:

    void finishActivity() {
            finish();
            //第一个参数是旧activity进入动画,第二个参数是当前activity退出动画
            overridePendingTransition(R.anim.slide_in_top, R.anim.slide_out_bottom);
        }
  • 相关阅读:
    魅族多机房部署方案-tech_meizu-ChinaUnix博客
    环信首席架构师:一个单元化架构的例子-CSDN.NET
    双活数据中心解决方案(最新)_图文_百度文库
    阿里巴巴分布式数据库服务DRDS研发历程
    OpenDigg
    Qcon
    有赞应用层网关剖析
    Enterprise Architect-工具-火龙果软件
    (80 条消息) 哪些管理类的书籍值得推荐?
    【图文】拉姆查兰-领导梯队_百度文库
  • 原文地址:https://www.cnblogs.com/kimmy/p/5281257.html
Copyright © 2020-2023  润新知