gpt4 book ai didi

android - 父 Activity 在退出过渡时变得不可见

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:31 30 4
gpt4 key购买 nike

我正在使用 API 级别 21,在 Nexus 6 上进行测试。

我有两个 Activity :master + detail,每个 View 都有一个 fragment 。当我在主列表中选择一个项目时,它会转换到详细 View 。

我在主视图和细节 View 中都启用了 View 转换,如下所示:

    getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

Transition ts = new Slide(Gravity.RIGHT);
ts.setDuration(2500);
getWindow().setEnterTransition(ts);
getWindow().setExitTransition(ts);

getWindow().setAllowEnterTransitionOverlap(true);
getWindow().setAllowReturnTransitionOverlap(true);

过渡动画按预期工作,除了一件事:当我选择一个项目时,父 Activity 在它过渡出来时被隐藏,所以我看不到它。当我按回键时,详细 View 将转出(未隐藏),主视图将转入(未隐藏)。那么,为什么主视图在转出和详细 View 转入时隐藏?

在 Android Studio 中,我看到了几个这样的日志帖子:

changeCanvasOpacity: opaque=true
changeCanvasOpacity: opaque=false
changeCanvasOpacity: opaque=false
changeCanvasOpacity: opaque=false

前两行用于第一次转换(master => detail),后两行用于返回(detail => master)。如您所见,只有一行是“opaque = true”。我相信那是隐藏主视图的时候(因为转换开始)。

我怎样才能避免这种情况?

在这篇文章中 Content Transitions In-Depth (part 2) ,在“Content Transitions Under-The-Hood”和项目 1C 下,它说“框架将 A 中的所有转换 View 设置为 INVISIBLE”。

我相信这是我的问题。我该如何解决这个问题?

最佳答案

我有一个类似的问题,并通过在调用 setContentView 之后添加此代码段在目标 Activity 的 onCreate 中解决了它:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setEnterTransition(null);
}

关于android - 父 Activity 在退出过渡时变得不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28386493/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com