我有一个活动中的ListView,每个列表项都有文本和复选框。在单击复选框时,我希望将该项从ListView中删除,并添加一种动画,如向下滑动或淡出,然后进行删除。
需要帮助吗?
需要帮助吗?
请看我的答案
protected void removeListItem(View rowView, final int positon) {
// TODO Auto-generated method stub
final Animation animation = AnimationUtils.loadAnimation(rowView.getContext(), R.anim.splashfadeout);
rowView.startAnimation(animation);
Handler handle = new Handler();
handle.postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
array.remove(positon);
adapter.notifyDataSetChanged();
animation.cancel();
}
}, 1000);
}
在ListView的onItem click中调用removeListItem(View rowView, final int positon)
方法。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView <? > parent, View rowView, int positon, long id) {
// TODO Auto-generated method stub
Toast.makeText(rowView.getContext(), "" + positon, Toast.LENGTH_LONG).show();
removeListItem(rowView, positon);
}
});
和 res/anim/splashfadeout.xml 相关
<?xml version="1.0" encoding="utf-8" ?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="2000" />
动画ListView的完整源代码在这里