场景:删除某一项Item后,上部分保持不动,下部分依次往上移直至合并.
(总的来说:给LV的Item加动画都是在getView的方法里设定好的)
首先我们要一个依次往上位移的动画
①首先设置一个AnimationListener , 当动画结束之后刷新数据
/**
* @param v ListView中的Item
* @param index 当前Item的索引
*/
private void deleteCell(final View v, final int index) {
AnimationListener al = new AnimationListener() {
@Override
public void onAnimationEnd(Animation arg0) {
mAnimList.remove(index);
ViewHolder vh = (ViewHolder)v.getTag();
vh.needInflate = true;
mMyAnimListAdapter.notifyDataSetChanged();
}
@Override public void onAnimationRepeat(Animation animation) {}
@Override public void onAnimationStart(Animation animation) {}
};
collapse(v, al);
}
②自定义一个动画,自定义动画需要重写applyTransformation方法, 关于自定义动画的有参考:http://blog.csdn.net/startfromweb/article/details/7644405
interpolatedTime会从0.0增