Android TaskStackBuilder 丑陋的过渡

2024-04-08

TaskStackBuilder 到底出了什么问题,它在开始新活动时使用了这种丑陋的转换:

    TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(this)
            .addParentStack(ActivityB.class)
            .addNextIntent(new Intent(this, ActivityB.class));
    taskStackBuilder.startActivities();

这基本上是谷歌搜索的标准代码,但是如果您运行此代码,您将在转到 ActivityB 时看到超级丑陋的转换。

我想这是因为它是一个新任务。但我不想让它看起来像这样,我能做些什么吗?

谢谢 !


深入挖掘后TaskStackBuilder的实现,问题是它强制添加Intent.FLAG_ACTIVITY_CLEAR_TASK到堆栈中的第一个意图,这会导致丑陋的转换,因此使用以下命令来启动堆栈:

Intent[] intents = TaskStackBuilder.create(this)
            .addParentStack(ActivityB.class)
            .addNextIntent(new Intent(this, ActivityB.class))
            .getIntents();
if (intents.length > 0) {
    intents[0].setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// Or any other flags you want, but not the `.._CLEAR_..` one
}
// `this` inside current activity, or you can use App's context
this.startActivities(intents, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

这里的想法是仍然使用TaskStackBuilder用于创建您的意图堆栈,然后删除奇怪的Intent.FLAG_ACTIVITY_CLEAR_TASK认为TaskStackBuilder添加到第一个意图,然后使用您想要的任何上下文手动启动活动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android TaskStackBuilder 丑陋的过渡 的相关文章

随机推荐

  • 索引对象点表示法给出标量属性

    当我在使用点表示法应用方法后尝试引用对象属性时 我遇到了问题 仅当我尝试索引初始对象时才会发生 classdef myclassexample properties data end methods function obj procDat
  • 绝对位置 div 不会将其他内容向下推

    我的大部分代码都在 jsFiddle 中 http jsfiddle net MilkyTech suxWt http jsfiddle net MilkyTech suxWt 内容应加载在白框中的第一页上 溢出的内容会将页面的以下部分向下
  • TypeError - o.ngOnDestroy 不是函数

    在构建用于生产的角度应用程序时 ng服务没有问题 我在加载子模块之一时收到以下错误 ERROR Error Uncaught in promise TypeError o ngOnDestroy is not a function Type
  • 我如何从 Wai 请求转到 Yesod 路线?

    我想使用Wai HttpAuth 中间件 http hackage haskell org package wai extra docs Network Wai Middleware HttpAuth html隐藏 HTTP 基本身份验证后
  • 如何添加文本“ON”和“OFF”到切换按钮

    在我的项目中 我想在现有的切换代码上添加文本 所以我想要这样 当切换为ON时 它应该显示文本 ON 如果切换为关闭 则显示 OFF 文本 我无法将其更改为其他切换 因为它已经有一个使用它的后端 我只想输入 ON 和 OFF 文本 谢谢 这是
  • 没有确认模板的 Django DeleteView

    我在模板中使用 Django DeleteView 并创建了一个 url 和视图 是否可以跳过加载 confirm delete 模板的过程并立即发布删除 DeleteView回应POST and GET要求 GET请求显示确认模板 同时P
  • 当操作的发送者是 UIGestureRecognizer 时引用按钮

    我有一个按钮叫myButton我给了它一个UIGestureRecognizer这样一个IBAction仅在以下情况下运行myButton用两根手指按下 UIGestureRecognizer tapper UITapGestureReco
  • 为什么列表推导式会写入循环变量,而生成器却不会? [复制]

    这个问题在这里已经有答案了 如果我对列表推导式执行某些操作 它会写入局部变量 i 0 test any i 2 for i in xrange 10 print i 这会打印 9 但是 如果我使用生成器 它不会写入局部变量 i 0 test
  • RTL 支持可绘制左侧的自定义编辑文本

    我有一个编辑文本 其图像可绘制 带有不可编辑的前缀编辑文本 但现在我想让它支持 rtl 尽管我很努力 但我还是无法支持 rtl 我的自定义课程如下 public class PrefixedEditText extends TextInpu
  • 重命名 R 中因子的标签

    我有按年龄组组织的男性和女性人口的人口普查数据 library tidyverse url lt https www2 census gov programs surveys popest datasets 2010 2018 counti
  • 自定义号码选择器?

    有没有一种简单的方法可以为Windows Phone 7制作一个类似于timepicker控件的数字选择器 我想要自定义范围 0 99 0 59 0 9 Google bing 和 msdn 似乎对这个主题的信息非常模糊 我发现一篇文章准确
  • 检查模型是否存在多对多关系的最佳方法

    我有一些数据被发布到服务器并正在检索Player基于该数据 id 我正在使用以下代码 player Player findOrFail player data id 但是 我想检查一下Player属于特定的Team a belongsToM
  • 如何修复解决 Homebrew doctor 警告的路径

    又一个新手提问 我一直在努力为 Python 项目安装 matplotlib 因此阅读周围建议的 Homebrew 是包管理和依赖项的可靠解决方案 但是 当我运行 Homebrew 诊断时 我收到以下错误 brew doctor Warni
  • StreamReader 到文件?

    我有一个包含在 System IO StreamReader 中的输入流 我希望将流的内容写入文件 即 StreamWriter 输入流的长度未知 长度可能是几个字节 也可能是千兆字节 如何做到这一点最简单且不占用太多内存 像这样的事情 p
  • 状态未立即更新时的 ReactJS 表单验证

    我正在尝试在注册表单上使用 ReactJS 创建客户端验证 我在用http validatejs org http validatejs org 用于验证的库以及https github com jhudson8 react semanti
  • 使用第一行作为列名?熊猫 read_html

    我有这个简单的一行脚本 from pandas import read html print read html http money cnn com data hotstocks flavor bs4 哪个有效 很好 但是列名丢失了 它们
  • 如何让 UIDocumentInteractionController 将日历显示为打开 .ics 文件的选项?

    我正在我的应用程序中使用的 Web 视图中拦截一种 URL 以便下载它链接到的文件 而不是仅仅尝试在 Web 视图中打开它 该链接指向 ics 文件 因此 我将该文件下载到临时目录中 然后在 UIDocumentInteractionCon
  • 如何获取给定表的索引列列表

    给定一个 SQLite 数据库 我需要获取给定表中哪些列被索引的列表以及排序顺序 我需要从代码 C 尽管这不重要 执行此操作 所以我真正需要的是一条 SQL 语句 如果存在 它可以执行此操作 我知道我可以这样做 SELECT sql FRO
  • 如何将 SQL Server 时间戳列转换为日期时间格式

    当 SQL Server 返回时间戳时 Nov 14 2011 03 12 12 947PM 是否有一些简单的方法可以将字符串转换为日期格式 例如 Y m d H i s 到目前为止我使用 date Y m d H i s strtotim
  • Android TaskStackBuilder 丑陋的过渡

    TaskStackBuilder 到底出了什么问题 它在开始新活动时使用了这种丑陋的转换 TaskStackBuilder taskStackBuilder TaskStackBuilder create this addParentSta