美文网首页Activity
Activity转场动画之Activity启动模式深坑

Activity转场动画之Activity启动模式深坑

作者: yyg | 来源:发表于2017-11-13 00:27 被阅读118次
一、起因

最近在模仿某X讯的一个应用,需要设置Activity之间切换的动画,按照之前的文章设置之后居然没有效果还是默认的切换动画,Activity动画和5.0之后的动画都无效,当然设置Window动画和使用overridePendingTransition方法有效的,但只能设置windowEnterTransition和windowExitTransition以及overridePendingTransition(R.anim.slide_in_left,R.anim.slide_in_left)
反复多次,检查动画文件,修改基类,更换启动方法,然并卵,心中真是一万只。。。。没办法,水笔只能硬着头皮干:百度,Google ,简书,掘金,CSDN,就差磕头了,幸好最后解决了。妈蛋,就当再熟悉了一遍转场动画吧。

先来个篇文章压压惊 Activity过渡动画的实现方法

二、原因及解决方法

实话说,虽然是个水笔但是向来还是鄙视百度的,然而讽刺的是今天的问题还真是百度解决的,证据如下:
安卓设置Activity切换动画无效的问题
之后检查自己的manifest.xml果然-----

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

Activity在Manifest中设置了singleInstance属性:单利模式,是加强本的singleTask,除了singleTask的特点外,还有自己独特的一点就是此模式的Activity只能单独的位于一个任务栈中。A启动后独自一人在一个任务栈中,由于栈内复用的特性,后续都不会创建新的A,直到被系统销毁。换句人话就是Activity处于已经实例化的状态,不会再被实例化,于是Activity动画不会播放,只有Window动画会播放;
然鹅:singleTop:栈顶复用!A启动B,A不再位于栈顶,B返回A时候,就会创建新的实例A,然后动画就可以执行了呀。

果断改为android:launchMode="singleTop",然后好了,就这几个字这天几个小时,哎,多看书,多码代码吧

相关文章

  • Activity转场动画之Activity启动模式深坑

    一、起因 最近在模仿某X讯的一个应用,需要设置Activity之间切换的动画,按照之前的文章设置之后居然没有效果还...

  • overridePendingTransition动画过程透析桌

    通过Activity间的转场动画overridePendingTransition可以实现Activity之间的跳...

  • Android面试知识点

    Android Activity Activity启动模式 standard 标准启动模式,也是activity的...

  • Android转场动画一说

    Android转场动画一说 所谓转场动画,通俗的讲就是一个Activity跳转到另一个Activity是的动画。 ...

  • Activity切换动画

    Activity跳转场景分析 两种:进入动画、退出动画, 进入动画:1> 新创建Activity2> 已经创建的A...

  • Android-收集-持续更新中...

    1、Activity相关: 1、Activity的生命周期 2、Activity的启动模式以及使用场景 启动模式 ...

  • Activity的启动模式

    启动模式 Activity共有四种启动模式,分别是 standard Activity的默认启动模式,每次启动都会...

  • Activity转场动画

    1. 转场动画 转场动画就是Activity通过元素之间的转换提供不同状态之间的视觉连接。你可以为进入和退出转换以...

  • Activity 转场动画

    三种方式: 方式1: 代码中:A跳转B时(startActivity之后添加)或者B返回A时(在finish的su...

  • Android launchMode(启动模式)

    Activity启动模式介绍:standard模式:Android默认的启动模式,每次启动一个Activity的时...

网友评论

    本文标题:Activity转场动画之Activity启动模式深坑

    本文链接:https://www.haomeiwen.com/subject/fphamxtx.html