行のアニメーションについて多くのチュートリアルを読みましたが、選択された行をアニメーション化する方法について説明しています。私はそれをすることができた。しかし、そこに問題があります。アニメーションで行が削除されると、アダプタからデータが削除され、notifyDataSetChanged()が呼び出されます。削除された行の下にある行はアニメーションなしで表示されます。これらの行のアニメーションをどのように達成できますか?私は彼らがスムーズに滑り落ちるようにしたい。選択された行が削除された後のリストビューのアニメーション
5
A
答えて
2
アイテムをクリックしたときに、リスト項目を削除し、あなた
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
final int position, long id) {
// TODO Auto-generated method stub
Animation anim = AnimationUtils.loadAnimation(view.getContext(),
android.R.anim.slide_out_right);
anim.setDuration(500);
view.startAnimation(anim);
new Handler().postDelayed(new Runnable() {
public void run() {
strings.remove(position);
mAdapter.notifyDataSetChanged();
}
}, anim.getDuration());
}
});
UPDATE
のための希望、このコードは意志役立つだけで心の中でnotifydatasetChanged()が呼び出されたときに機能アーキテクチャフレームワークを保ちます。
- GetViewメソッドがGETビューの呼び出しで
- と呼ばれ、それは、リストビューのすべての行を再構築します。
あなたの場合、私たちはgetViewメソッドをアニメーション化する必要があります(これはnotifydatasetchangedのアクションで再度呼び出されます)。解決方法は次のとおりです。
/**
* Hear strings is the data set
*/
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
final String str = this.strings.get(position);
final Holder holder;
if (convertView == null) {
convertView = mInflater.inflate(
android.R.layout.simple_list_item_1, null);
convertView.setBackgroundColor(0xFF202020);
holder = new Holder();
holder.textview = (TextView) convertView
.findViewById(android.R.id.text1);
holder.textview.setTextColor(0xFFFFFFFF);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
holder.textview.setText(str);
Animation animation = null;
animation = new ScaleAnimation((float) 1.0, (float) 1.0, (float) 0,
(float) 1.0);
animation.setDuration(750);
convertView.startAnimation(animation);
animation = null;
return convertView;
}
有用かどうかをご確認ください。
+0
を追加すると、選択した行をアニメーション化する方法が示されます。私の質問では、選択されたものが削除されたときに他の行のアニメーションについて話していました。私はnotifyDataSetChanged()の後にそれをしたい。行はアニメーションで表示されます。 – Alex
+1
@Alexey、私の更新答えを見てください、ありがとう –
関連する問題
- 1. vb.net - 選択されたリストビューをiniファイルから削除する
- 2. 選択されたテーブルビューの行がmySqlデータベースから削除されました
- 3. リストビュー内の選択されたアイテムは選択解除されません
- 4. 選択された行は削除されません
- 5. 選択/ハイライトされたテキストを削除
- 6. フィルタリングされたデータを選択し、ヘッダーを除いて最後に表示された行に削除
- 7. 最後のセルを削除した後にUITableViewセルが選択されない
- 8. 複数の選択された行をphalconで削除する
- 9. ギャラリー選択された位置のアニメーション
- 10. 私のカスタムクラスが追加/削除/編集されたときのリストビューのアニメーション
- 11. Androidリストビューの行削除アニメーション
- 12. データベースから選択された行データを削除します
- 13. 同じトランザクションで削除された行をフェッチ/選択する
- 14. 選択された行mysql group_concatを削除する
- 15. Django:削除された後も行が表示される - キャッシングのため?
- 16. Datatable.Loadで削除された行が削除されない
- 17. 選択したテキストが選択解除後にkartik select2から削除されない
- 18. 削除キーがvb.netで押されたときに、datagridview内の選択された行を消去します。
- 19. DataGridのチェックボックスが選択された後、スクロールダウンされます。3
- 20. 別の選択ボックスで既存の選択されたオプションを削除する
- 21. 入力時に選択されたテキストが削除されない
- 22. ajaxリクエスト後にすべての選択されたオプションを削除します
- 23. その後、選択されたオプション
- 24. トリガーの最後の更新された行のIDと最後の削除された行のIDを選択して、彼らはSQL Serverの
- 25. リストビュー2つのアイテムがスクロール中に選択されました
- 26. リストビューで2つのアイテムが選択されました。
- 27. 選択された選択(選択された値)例
- 28. DropDownListの選択されたインデックスを削除する方法は?
- 29. 選択されたクラスのメテオ削除リスト項目
- 30. リストビューに複数の選択されたアイテムが表示される
これは機能しますか?コード内にhttp://stackoverflow.com/a/6857762/832776 –