android - 父片段被共享元素转换破坏
问题描述
我有一个视图层次结构,如下所示。
- 主要活动 :
- 第一个片段:
- 第二片段:
- 第一个片段:
在我的 SecondFragment 中,我有一个RecyclerView
. 当一个项目被点击时,我想在另一个项目中打开它Fragment
(全屏),所以我正在使用该addSharedElement()
方法,经过 2 天的复古工程后一切正常:我在 StackOverFlow 上找到的每篇文章都没有提到为了工作,“全屏”片段必须替换活动中的第一个父级。
我首先想要的是将全屏片段嵌套在 SecondFragment 中,但这种方法是不可能的。
我已经尝试了其他所有方法,在我的视图层次结构的每个步骤中,它们都没有工作,除非我用我的全屏片段替换我的 FirstFragment。
add()
不幸的是,这也是不可能使用过渡的方法。
问题是addToBackStack()
,当我按下NavigationBar
. 我不太熟悉该addToBackStack()
方法以及如何取回我在那里添加的任何片段。
问题 1:如何在不破坏父片段(我的视图层次结构中的 FirstFragment)或不使用共享元素转换但达到相同结果的情况下使其工作?
似乎过渡正在做的是在新片段中重新创建一个视图,其宽度/高度、x 和 y 坐标与前一个片段中的相同,并从新片段中对其进行动画处理......
问题 2: 自己做会不会是个坏主意?
编辑:我的目标是通过向下滑动关闭全屏片段,一旦手指从 10dp 沿 Y 轴移动,我希望能够显示后面的前一个片段(在我的情况下为 SecondFragment),这就是为什么我不想破坏父片段。
解决方案
推荐阅读
- android - AdMob 广告检查器无法在 Android 10 设备上启动
- android - Android自动备份不适用于三星手机
- android - 在 API 级别 30 之后,您的应用程序中还能以某种方式使用 toast 吗?
- scala - 什么时候实现了自动 Spark RDD 分区缓存驱逐?
- python - 参数字典包含方法的不可空类型“System.Int32”的参数“okres”的空条目
- swift - 以团队名称为类别的 Xcode 应用发布
- csv - 如何在不使用第三方库的情况下在 React-Native 中使用 fetch 读取 CSV 文件
- c# - 我可以看到 .NET 6 JWT Authentication Minimal Api 的错误在哪里
- reactjs - 使用 `useEffect` 根据 React 状态切换递归获取请求
- android - Android:等待用户输入但设置超时