能否为可展开的ListView应用展开或折叠动画?
能否为可展开的ListView应用展开或折叠动画?
View.GONE
开始,逐渐重新调整边距从负值到所需大小,同时将可见性设置为View.VISIBLE
。view.bottomMargin = -50
或更多,否则第一次动画不会正常工作,但到目前为止我没有找到任何可行的替代方法(除了使用ScrollView与自己的容器项而不是ListView)。@Override
public void onScrollStateChanged(final AbsListView view, final int scrollState) {
this.mScrollState = scrollState;
}
public int getScrollState() {
return this.mScrollState;
}
对于listView本身,您需要存储点击的组,以便仅其子项会得到动画效果:
mListView.setOnGroupClickListener(...
@Override
public boolean onGroupClick(...){
mGroupPosition=groupPosition;
public View getChildView(...) {
// <=prepare rootView and return it later
if (groupPosition==mGroupPosition&&getScrollState() == OnScrollListener.SCROLL_STATE_IDLE)
rootView.setAnimation(...)
我曾经为一个简单的列表视图完成了类似的工作。为了实现这个功能,我重写了getView方法,并在每个列表项上应用了向上或向下的平移动画。平移的程度由列表项的位置决定。