像Pinterest或Tumblr一样向后滑动

42
有人知道Pinterest或Tumblr是如何实现他们的“滑动返回”方法的吗?
例如,在Pinterest上,您可以在新闻动态中点击一篇文章。然后启动DetailActivity并显示所选帖子的详细信息。然后,您可以按返回按钮返回到新闻动态活动,或者您可以向左滑动(详细信息活动)以返回到新闻动态活动。
视频:http://youtu.be/eVcSCWetnTA 通常情况下,我会使用overridePendingTransition(),但overridePendingTransition()需要动画(类似于R.anim.foo的资源ID)。Pinterest和Tumblr仅在用户进行滑动手势时才开始动画。它们还支持某种“逐帧动画”,根据手指移动来跟踪手指移动的距离,并将过渡动画转换为相应的百分比值。
我知道如何使用“真正的Java”Animation / AnimatorSet对象与FragmentTransaction来动画替换片段。对于片段,我必须覆盖onCreateAnimator(),但我不知道如何使用Activities实现这样的行为。是否有一个onCreateAnimator()(或类似的东西)用于Activities?也不确定如何处理滑动行为,因为它现在没有开始动画,而是更多的一步一步的窗口/活动/片段或其他属性更改...
有什么建议吗?
编辑: 我在YouTube上找到了Pinterest应用程序的视频:http://youtu.be/eVcSCWetnTA 这就是我想要实现的。
我猜Pinterest正在使用片段和onCreateAnimator()来实现“滑动返回”。由于我的应用程序已经在活动中具有片段和子片段,因此如果我可以为活动实现它,那将会更容易。

再说一遍:我知道如何检测滑动手势,这不是我的问题。请观看YouTube视频:http://youtu.be/eVcSCWetnTA


更新: 我创建了一个小库,它的行为并不完全像Pinterest或Tumblr的实现,但对于我的应用程序来说,这似乎是一个好的解决方案:https://github.com/sockeqwe/SwipeBack?source=c


你可以点击返回按钮以返回新闻动态活动,或者向左滑动(详细信息活动)以回到新闻动态活动。- 你确定那不是一个简单的ViewPager吗? - user
不,这不是一个ViewPager,而是一种自定义动画,用于从一个Activity切换到另一个Activity或FragmentTransaction(如果它们使用Fragment)。但是我想为Activity实现类似的功能。对于Fragment,我可以重写onCreateAnimator()方法,但我找不到类似的方法适用于Activity... - sockeqwe
为什么不实现某种手势,然后检测手势的起始点和结束点,并计算是否是向左滑动,然后使用某种动画停止活动? - Armand
我知道如何检测滑动手势。我已经更新了我的问题,并添加了一个链接到一个YouTube视频,展示了我正在寻找的内容。 - sockeqwe
使用NavigationDrawer填充整个屏幕怎么样? - user2606414
我认为那样做不会产生期望的效果。我的意思是,我可以使用SlidingMenu或其他实现方式将整个窗口向左滑动,但我看不到在滑动时让前一个活动出现在屏幕上的方法。 - sockeqwe
11个回答

0

导航库

这是一个与NavComponent完全集成的库。
我仍在开发中,但它已经很稳定了,所以您可以在生产中使用它。

https://github.com/massivemadness/Fragula
注意:它只适用于片段


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接