【问题标题】:Adding a shared floating action button to two existing activities向两个现有活动添加共享浮动操作按钮
【发布时间】:2017-07-05 01:09:24
【问题描述】:

我正在开发一个已经投入生产的应用,它有多个活动。设计师现在想要添加一个浮动操作按钮,该按钮固定在我们两个活动的右下角(将来可能会更多)。当两个活动相互转换时,FAB 需要保持在同一位置。

我知道我可以使用共享元素转换来实现这一点,但问题是我们使用 overridePendingTransition() 在两个活动之间转换时添加滑动动画,当我使用共享元素转换时,滑动动画会被破坏它被场景过渡动画覆盖。

有没有人做过类似的事情?

总而言之,这是我的要求:

  1. 两个activity之间使用滑动动画过渡
  2. 浮动操作按钮位于两个活动中,位于同一位置
  3. FAB 需要始终保持静止,包括在两个活动之间的过渡期间
  4. FAB 可以但不需要在转换期间响应 onClick 事件(这是一个可接受的限制)
  5. 我不在乎实现有多脏,但我强烈不希望重构为单个活动,因为这两个活动都非常复杂

如果有帮助,很乐意提供任何其他详细信息。谢谢。

【问题讨论】:

  • 使用片段而不是活动,您可以共享 FAB 按钮。
  • @SriMaharshiManchem 我知道,我已经在每个活动中使用了片段。但就像我说的那样,这两个活动非常复杂,所以我不想仅仅为了实现这一点而这样做。

标签: android floating-action-button shared-element-transition activity-transition overridependingtransition


【解决方案1】:

其实我没有和你类似的情况。我正在处理多个片段而不是活动。 您可以做的是创建一个 基本活动,它实现 fab 按钮,并在其他两个活动中扩展该基本活动。

对于每个活动中fab button 的相应工作,您可以借助savedInstanceState 中的字符串(即来自Bundle)来完成。

希望对你有帮助!!

【讨论】:

  • 抱歉,与将 FAB 添加到这两个活动(我现在已经完成)相比,我看不出这有什么帮助,但无论如何谢谢。
  • 当一个基础activity在两个activity中扩展时,两个activity中fab按钮的方法调用可以根据选择相同或不同。当我在基本活动扩展活动下有多个片段时,它工作得很好。它可以减少代码样板,我认为 fab 按钮将保持静止。
猜你喜欢
  • 2019-03-06
  • 1970-01-01
  • 2016-05-30
  • 2015-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多