【问题标题】:android - CardView resize animation in RecyclerViewandroid - RecyclerView 中的 CardView 调整动画大小
【发布时间】:2018-01-02 18:18:50
【问题描述】:

我有一个 RecyclerView,其中有 CardView 作为项目。 CardView 有箭头图标可以在同一个 CardView 中显示详细信息,但我不想设置为 GONE 或 VISIBLE,因为此操作没有好看的动画。我试图在我的 CardView 上设置android:animateLayoutChanges="true",我得到了这个:(这不是我的屏幕,但它包含同样的问题)

但是,一旦我再次单击箭头以折叠支持文本,下面的卡片就会与我在动画期间单击的卡片重叠。我怎样才能避免这种重叠?我试图打电话给TransitionManager.beginDelayedTransition(CardView);,但看起来对我没有帮助..

【问题讨论】:

    标签: android animation android-recyclerview cardview


    【解决方案1】:

    您可以尝试删除android:animateLayoutChanges="true" 并调用TransitionManager.beginDelayedTransition(MainRootView);(注意调用参数是RootView 而不是CardView)。

    如果不这样做,您应该自己进行折叠扩展。 Here 是视图高度动画的一个很好的例子。

    【讨论】:

    • beginDelayedTransition 是做什么的?
    • RootView是什么情况?回收站视图?
    • @AjilO。 beginDelayedTransition 告诉系统布局会发生变化并且应该是动画的。例如:您更改视图的 alpha(使用view.setAlpha()),系统会将您的 alpha 从以前的值设置为新值。你应该谷歌这个以获得更好的解释。
    • @Den 我建议从真正的根视图(如活动的根视图)开始,然后再到层次结构
    • 太棒了 - 有了它,它超级容易拥有一个水平回收视图,它可以通过平滑的动画自动调整其高度!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多