【问题标题】:transitions when loading a fragment to an activity将片段加载到活动时的转换
【发布时间】:2017-10-30 23:09:05
【问题描述】:

我知道有一些方法可以从 Activity 转换到 Activity 以及从 Fragment 转换到 Fragment,但我想知道在将 Fragment 加载到 Activity 时是否可以使用转换(即共享元素)?

【问题讨论】:

  • 我认为这将是从活动到活动的过渡。
  • @Ibrahim 我知道该怎么做,我想知道如何在将片段加载到活动中时使用过渡。
  • 我没有在片段之间转换。我有一个具有自己布局的活动,我想从该布局转换为片段。
  • 正如我所说,这将是从活动到活动的过渡,因为片段和活动之间没有过渡,它不是相似的视图。
  • 不,这不是从活动到活动的过渡。你是什​​么意思 Activity 和 Fragment 没有相似的视图?

标签: android android-fragments android-activity android-transitions


【解决方案1】:

您可以通过将 TransitionName 传递给片段(构造函数或其他方式)并将其设置为新元素来使用共享元素转换。

ImageView 示例:

MyFragment frag = new MyFragment();

String transitionName =  ViewCompat.getTransitionName(sharedImageView);

getFragmentManager()
        .beginTransaction()
        .addSharedElement(sharedImageView, transitionName)
        .replace(R.id.content, frag)
        .commit();

在您的片段中,将 TransitionName 设置为 ImageView。

imageView.setTransitionName(transitionName);

你有一篇关于它的好文章: Shared Element Transitions

【讨论】:

  • 你发布的文章只是从一个活动到另一个活动,从一个片段到另一个片段。
  • 我假设您将在活动内部从一个片段过渡到另一个片段。因为片段存在于活动中。更好地解释你的用例。
猜你喜欢
  • 2015-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-06
  • 1970-01-01
相关资源
最近更新 更多