Android - 从ListView中删除项目时的动画

Sha*_*ful 8 android listview

我在一个活动中有一个ListView.在每个列表项中都有一个文本和一个CheckBox.单击CheckBox,我想从ListView中删除该项目,并希望添加一个动画,如向下滑动或淡出,然后删除.

有帮助吗?

Dwi*_* Ji 7

看看我的答案

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);
}
Run Code Online (Sandbox Code Playgroud)

removeListItem(View rowView, final int positon)onItem中的call 方法单击ListView

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);


    }
});
Run Code Online (Sandbox Code Playgroud)

和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" />
Run Code Online (Sandbox Code Playgroud)

动画ListView的完整源代码听到


Vin*_*kla -1

您应该在您的适配器类中的复选框上实现 onClickListener 并设置文本视图的可见性 GONE 或 Invisible 或从您的列表中删除项目并调用方法 notificationDataSetChanged() ....