我正在尝试实现Gmail应用(ICS)在删除邮件时提供的功能。我不想删除下面的所有行,删除单元格向上移动并覆盖已删除的单元格。Gmail like listview item remove
这里正在动画:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate android:fromYDelta="0%" android:toYDelta="-100%"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
所有我想出了到目前为止是这样的:
public static List<View> getCellsBelow(ListView listView, int position) {
List<View> cells = new ArrayList<View>();
for (int i = position + 1; i <= listView.getLastVisiblePosition(); i++) {
cells.add(listView.getChildAt(i));
}
return cells;
}
我收集可见单元格娄选定单元格,然后在动画的foreach他们。我担心这是性能灾难。我也有问题通知适配器,它应该重新加载它的内容。通常我会打拨打电话notifyDataSetChanged
,但现在有几个动画连续播放。
任何建议好朋友?也许有什么东西可以激发几个观点的兴奋点?
最简单的方法是减少删除行的高度。 – yDelouis
要不要考虑那个拍摄自己的球...... –