【问题标题】:Animated list item expansion with RecyclerView?使用 RecyclerView 进行动画列表项扩展?
【发布时间】:2014-12-10 23:33:39
【问题描述】:

如何使用 Android RecyclerView 实现这种简洁的列表项扩展效果?

Video

到目前为止,我只能找到关于旧 ListView API 的教程。

【问题讨论】:

    标签: android animation android-recyclerview


    【解决方案1】:

    我确信有几种方法可以实现这种效果,但我的实现方式与ListViewRecyclerView 没有任何关系。这更多地与数据项的实际显示有关。我们在视频中看到的是单击项目时的行为。

    我会这样做: 1. 创建自定义View,扩展LinearLayoutRelativeLayoutFrameLayout。 2. 你基本上有两种状态,展开状态和非展开状态。让视图拦截点击事件,当它在非展开状态下被点击时,它会为展开动画。这应该会自动为RecyclerView 中的其他视图设置动画,然后在增长动画完成后在新信息中进行动画处理。

    您的问题相当复杂,但这是我将如何做到这一点的一般要点。在我开始将它添加到 RecyclerView 之前,我会将它作为一个视图单独工作。

    【讨论】:

    • 别忘了提到项目不应该有固定的大小。
    • 这不会影响其他视图吗,因为 RecyclerView 重用视图?您将向下滚动并会看到多个展开的视图,而不仅仅是用户展开的那个。
    • @Doge 有一个很好的观点。在为每个项目设置数据时,您也应该重新设置大小。
    • 它工作正常,但如果你展开最后一个视图项,回收视图不会向上滚动。需要在那里编写一个自定义滚动监听器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    相关资源
    最近更新 更多