3

我正在尝试为 ExpandableListView 的展开和折叠设置动画。我的目标是 API 级别 15,因此可以使用方法 expandGroup (int groupPos, boolean animate)。但是,它不会为组的扩展设置动画。我的代码如下:

m_expandList.setOnGroupClickListener(new OnGroupClickListener(){
            public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id)
            {
                if(m_expandList.isGroupExpanded(groupPosition))
                {
                    m_expandList.collapseGroup(groupPosition);
                }
                else
                {
                    m_expandList.expandGroup(groupPosition,true);
                }
                return true; 
            }
        });

以下是布局的摘录:

<ExpandableListView
    android:id="@+id/ExpList"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@id/MainLabel"   
    android:layout_above="@id/button1"     
    android:choiceMode="multipleChoice"/>

我认为这可能是因为没有正确使用 API 或者遗漏了什么?

另外,为什么collapseGroup 没有相同的方法(我的意思是还包括动画布尔)?

提前致谢

4

2 回答 2

3

可能有点晚了,但是当您扩展该组的孩子的高度超过可用空间的组时,会触发扩展动画。

动画实际上是列表视图向下滚动以适应孩子的高度。这也是为什么折叠时没有动画的原因。

希望这可以帮助。

于 2013-01-20T11:49:29.563 回答
0

删除侦听器(如果您仅将其用于扩展-折叠组)。这已经是ExpandableListView实际动画的默认行为。

于 2012-08-31T15:39:14.217 回答