我目前正在使用Fragment
在Android中使用一个和两个窗格模式。基本上我有一些主/细节流程,每个细节都是其他细节的主人
例如,我们有一个带有详细信息Clients
的主Client
。每个Client
都是某种名为Orders
的主人。 Orders
然后有详细信息Order
。每个Order
都有一个Articles
列表,其中包含详细信息Article
,依此类推
所以我想有一个两个窗格的布局,左边是Master,右边是Detail。因为每个细节都是一个大师,当它转到它的细节时,我想将整个Layout
移到左边。因此,“旧”主人不在左边的Layout
,新的列表/明细从右边进入Layout
。
基本上应该是这样的:
在左边我有Clients
,在右边我有所选客户John
的详细信息。
现在,如果我点击详细信息中的Orders...
,我想从右侧移入Orders
列表,将Clients
主页和详细信息推到左侧。
结果应如下所示:
基本上,Clients
主人移出Layout
,Client
详细信息现在位于左侧,Orders
主人位于右侧。
再次点击其中一个Orders
,从右侧移动Order
的详细信息,然后将Client
主机推出左侧。
结果:
要创建转换,我执行了以下操作:
LinearLayout
,其中包含3个FrameLayout
个孩子。layout_weight
的{{1}}设置为1.0f,将第三个FrameLayout
设置为0.0f。 Animation
的{{1}}创建一个layout_weight
,将第一个从1.0变为0.0,将第三个从0.0变为1.0 FrameLayout
完成Animation
从第一个Fragment
替换为第二个FrameLayout
,将Fragment
从第三个FrameLayout
移到第二个。{/ li>
layout_weight
。如果您在将Fragment
添加到另一个容器之前remember to remove // Karma serves files under /base, which is the basePath from your config file
baseUrl: '../',
,那么这非常有效。
我对这个解决方案的问题是,当我想回去时
作为一个用户,我希望,前一个主人从左边进入,并在右边推动当前细节(反向动画)。
我想这将是最好使用Fragment-Backstack,但我无法弄清楚如何做到这一点。
那我该如何管理“回归”呢?或者对于这种“多级主 - 细节流程”有更好的解决方案吗?