【问题标题】:Animate Child View in ExpandableList可展开列表中的动画子视图
【发布时间】:2011-10-29 12:01:53
【问题描述】:

每个组视图只有 1 个子视图,它是从布局 .xml 文件扩展而来的。我希望为子视图设置动画,以便在显示子项时,其下方的列表项向下滑动。我尝试了一些动画,但问题是首先使子视图的高度/宽度可见,然后视图在该空间内动画。但是,我希望通过使以下组视图向下滑动来为智利视图让路,从而在 2 个列表视图之间显示一个子视图。

例如,我尝试了以下方法。动画确实发生了,但不像我上面描述的那样。在返回子视图之前,我已将以下内容添加到 getChildView():

    Animation anim = AnimationUtils.loadAnimation(MyExpandableList.this,
                                                   R.anim.translate);
    v.setAnimation(anim);

这是我的 translate.xml:

    <?xml version="1.0" encoding="utf-8"?>
       <translate xmlns:android="http://schemas.android.com/apk/res/android" 
            android:fromYDelta="-50%p" 
    android:toYDelta="0"
    android:duration="500"/>

感谢您的帮助。

阿尼。

【问题讨论】:

    标签: android animation expandablelistview


    【解决方案1】:

    您还必须为当前添加的子视图下方的所有子视图设置动画。 将所有 Aniamtions 添加到 AnimationSet 并开始设置。

    【讨论】:

    • 正如我之前提到的,每个组视图最多有 1 个子视图。因此,不可能将动画添加到所有子视图。
    • 为当前添加的视图下方的所有组视图设置动画。这应该是你需要的动画。
    • 我不想为组视图设置动画。我只想为每个组视图的 1 个子视图设置动画。
    • 如果不为 groupview 设置动画,您如何期望整个事情看起来是滑动的。当前添加的所有视图(无论它在列表中)都应该在动画中。
    • 你应该了解动画在android中是如何发生的。设置动画时,视图被设置为不可见,并且视图的位图在屏幕上而不是视图上移动。最后,视图再次设置为可见并且位图被破坏。因此,它无法像新视图一样显示推动其他组,因为一旦您添加视图,它们就已经被推下。因此,您还需要将以下组添加到动画中。
    猜你喜欢
    • 2011-05-31
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    相关资源
    最近更新 更多