ListViewを持つアプリで、リスト上のアイテムを削除するときに、
削除したアイテムのあいたスペースを、後続のアイテムが埋めるように
ゆっくりと上がってくるようなアニメーションを実施したいのですが上手くいきません。
(下のアイテムで削除対象をつぶすような動きをしてほしい)
List上のアイテムをクリックしたときのイベントとして以下のようなコードを書きましたが、
アイテム自体がアニメーションして消えはしますが、その下のアイテムは動かずリロードさせたときに埋まるので、
一瞬でスペースを詰めたようになってしまいます。
lang
1 public void onClick(View v) { 2 delete(); //対象のアイテムのデータをDBから削除する処理 3 4 //Y方向に中心に向かって縮小する 5 ScaleAnimation anime = new ScaleAnimation(1.0f, 1.0f, 1.0f, 0.0f, 6 Animation.RELATIVE_TO_SELF, 7 0.5f, 8 Animation.RELATIVE_TO_SELF, 9 0.5f); 10 anime.setDuration(500); 11 anime.setAnimationListener(new AnimationListener() { 12 13 @Override 14 public void onAnimationStart(Animation animation) { 15 } 16 17 @Override 18 public void onAnimationRepeat(Animation animation) { 19 } 20 21 @Override 22 public void onAnimationEnd(Animation animation) { 23 reload(); //ListViewをリロードさせるメソッドを実行 24 } 25 }); 26 v.startAnimation(anime); 27 }
イメージとしては、削除したいViewのvisibillityをゆっくりとGONEにしていくような動きが理想です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。