物料设计-将卡扩展(过渡)到全屏

时间:2018-11-21 11:29:06

标签: android material-design android-cardview

我正在努力实现Android版Material Design所描述的卡片视图的扩展功能。

在设计指南中,他们展示了 Card 组件的不同布局,但一个示例显示了从Card过渡到全屏 onClick。

这是他们网站上显示的过渡:Card transitions to fullscreen

我已经尝试实现这样的功能,但是比他们的指南示例所建议的要花费更多的工作...材料设计如何实现这一目标?是否有内置功能?我应该手动翻译卡片并使其适合屏幕大小,还是我应该对整个卡片视图使用全新的片段或活动?

这里是Design准则,其中包含该示例,但是没有任何关于过渡的说明,在已记录的Develop页面上也没有任何内容,这确实很小。

1 个答案:

答案 0 :(得分:0)

TL;DR

就您在上面附加的 gif 图像而言,RecyclerView 和详细的 CardView 应该有自己独立的 Fragments,它们在一个 {{1} }.

跳转到动画部分最后的链接。

详情

为什么会这样?好吧,我们有三个选择:

  1. 将两个视图保留在一个 Activity 中,并在单击事件时将详细的 CardView 重叠在 RecyclerView 之上。 (这个很蠢,不是一个好习惯)

  2. 为两个视图(回收站和全屏卡片)创建单独的活动

  3. 我上面提到的那个。

RecyclerView and Detailed View shown as two separate Fragments

现在不选择第二个选项的原因是因为与第三个选项相比,它的性能更加密集。我们可能不会在小规模应用程序中注意到这一点,但是当应用程序扩展时它肯定会产生影响。另外,创建片段更有效,因为我们在视图之间共享公共视图和变量。所以最好的选择是第三。 请注意,这不是通用情况,用法会根据您的要求而有所不同。


使用 Fragment 一开始可能会让人不知所措,但是当您掌握它时,它可以使代码更有条理。您应该尽量将您的应用划分为几个大致划分的 Activity,并且在这些 Activity 中应该包含尽可能多的片段。

这里有一些链接帮助我实现了您正在寻找的完全相同的东西。

他们三个都帮助我更好地了解了整个 Material Motion 框架的工作原理以及如何在我的程序中实现它。