0

我有这个应用程序,其中包含 1 个活动和 1 个片段。我们将其命名为 Fragment A。所以 Fragment A 由 3 个按钮 BtnA、BtnB 和 BtnC 组成。当我在 Fragment A 中单击 BtnA 时,Fragment B 将替换这个 Fragment A。在 Fragment B 内,我将有另外 3 个按钮 BtnD、BtnE、BtnF。我正在考虑使用材质过渡并制作以下​​动画:

过渡.gif
(来源:googledrive.com

我希望它至少向后兼容 Android Api 14。所以我进行了研究,并且正在使用Transitions-Everywhere。不过,我似乎无法使用它进行片段-片段转换。所以我想用其他方法代替。以下是我认为可以完成这项工作的一些方法:

  1. 改为活动活动(这似乎有点矫枉过正,因为我实际上在活动中重用了一些东西)
  2. 将所有内容都放在 1 个活动中,并使用场景将按钮带入:
    1. 在活动中有这 6 个按钮。
    2. 活动中只有 3 个按钮,当单击 BtnA 时,继续将 BtnA、BtnB、BtnC 更改为 BtnD、BtnE、BtnF。

那么设计应该如何呢?有什么特别需要考虑的吗?我更赞成选项 2.1,即 1 个活动中的 6 个按钮,但不确定这是否是推荐的方法。有什么建议吗?

提前致谢!

4

1 回答 1

0

我是Transitions-Everywhere 的作者,所以也许我可以提供帮助。在这种情况下使用不同的片段有什么真正的理由吗?片段转换暂时没有向后移植,我没有太多空闲时间。

您可以通过这种方式执行转换:

TransitionSet transitionSet = new TransitionSet();
transitionSet.addTransition(new Slide(Gravity.BOTTOM));
transitionSet.addTransition(new ChangeBounds());
TransitionManager.beginDelayedTransition(buttonsContainer, transitionSet);
btnA.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.MATCH_PARENT));
btnB.setVisibility(View.GONE)
btnC.setVisibility(View.GONE)
于 2015-06-05T22:47:49.533 回答