Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android - Animation while removing items from ListView

I have a ListView in an activity. In each list item there are a text and a CheckBox. On click on the CheckBox, I want to remove the item from the ListView and want to add an animation such as slide down or fade out and then remove.

Any help?

like image 392
Shaiful Avatar asked Mar 01 '11 07:03

Shaiful


1 Answers

Have a look at my answer

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

call removeListItem(View rowView, final int positon) method in onItem click of 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);


    }
});

and 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" />

Full source code of animated ListView hear

like image 53
Ashish Dwivedi Avatar answered Oct 02 '22 05:10

Ashish Dwivedi