android ap 5活动过渡到较低的api

meh*_*dok 32 android android-5.0-lollipop activity-transition

每当我搜索我遇到这个"android 5(L)活动过渡只有可用API >= 21.

这很好,但我可以看到一些类似的应用程序QuickPicgoogle inbox使用类似的过渡和致力于降低API,因此这个应用程序是如何做这样的事情?

我做了什么?

1)很多搜索:)

2)玩ActivityOptionsCompat那个只适用于api> = 21,像这样:

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, DATA.EXTRA_PASSED_JSON);
Intent intent = new Intent(activity, PhotoViewerActivity.class);
intent.putExtra(DATA.EXTRA_PASSED_JSON, json);
ActivityCompat.startActivity(activity, intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)

编辑(问题标记为重复):在这种情况下,它与其他问题不同,因为我说有其他应用程序在较低的api中进行此转换,我想知道他们是如何做到的.

Geo*_*unt 38

我们在Lollipop中添加了很多东西,以使Activity Transitions运行良好.可以手动执行"活动转换"(在早期版本中),但在某些情况下会遇到问题,并且返回转换可能仅在最简单的情况下才起作用.Chet Haase在这里有一个devbyte .

片段之间的动画可能更早,尽管API不像Lollipop的Fragment Transitions那样容易使用.

我们考虑了很多关于在支持库中将转换移植到早期版本的问题.它可能仍然会发生.如果是这样,我们也应该能够为Fragment Transitions做点什么.

  • 在最近的Gmail应用更新中,我们可以看到makeSceneTransitionAnimation也可以在棒棒糖前设备中使用,请您告诉我们如何实现这一目标? (15认同)
  • 好消息foks它发生了他们已经在v4支持lib中添加了它看看https://developer.android.com/reference/android/support/transition/package-summary.html (9认同)

Mdl*_*dlc 22

就像你自己说的那样,支持库不支持5.0以下Android版本的(全部)转换.但是有一些替代方案:

非官方兼容性库
https://github.com/andkulikov/transitions-everywhere
https://github.com/takahirom/PreLollipopTransition
https://github.com/lgvalle/Material-Animations

Android KitKat
http://www.doubleencore.com/2013/11/new-transitions-framework/以及SDK示例文件夹中的示例.

  • 您可以加载第二个活动的视图,然后执行没有动画的意图.当然,当你下一个活动有不同的内容时,这就更难了. (3认同)