首页 > 解决方案 > Material Design - 将卡片扩展(过渡)到全屏

问题描述

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

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

这是他们网站上显示的过渡: 我已经尝试过实现这样的功能,但这需要比他们的指南示例所建议的更多的工作...... Material Design 如何实现这一点?是否有内置功能,我应该手动翻译并调整卡片以适应屏幕,还是应该为全卡片视图使用全新的片段或活动?

卡片过渡到全屏

这是包含该示例的设计指南,但在文档开发页面上也没有提及过渡,这实际上是最小的。

标签: androidmaterial-designandroid-cardview

解决方案


TL;博士

在您上面附加的 gif 图像的情况下, 和 detailRecyclerView应该CardView有自己的独立Fragments,它们在一个单独的Activity.

跳转到动画部分末尾的链接。

细节

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

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

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

  3. 我上面提到的那个。

RecyclerView 和Detailed View 显示为两个单独的片段

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


一开始使用 Fragments 可能会让人不知所措,但当你掌握它时,它会使代码更有条理。您应该尝试将您的应用程序划分为几个广泛划分的活动,并且在这些活动中应该有尽可能多的片段。

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

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


推荐阅读