Przeczytałem wiele samouczków dotyczących animacji wierszy, ale wszystkie z nich opisują jak animować wybrany wiersz. Udało mi się to zrobić. Ale jest problem. Po usunięciu wiersza z animacją usuwam dane z adaptera i wywołuje funkcję notifyDataSetChanged(); Wiersze (poniżej usuniętego wiersza) idą w górę bez animacji. Jak mogę uzyskać animację tych wierszy? Chcę, żeby się płynnie przesuwały.ListView Animuj wiersze po usunięciu zaznaczonego wiersza
Odpowiedz
Usuń element listy na punkcie kliknięcia nadzieję, że to kod będzie pomocne,
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
Wystarczy pamiętać ramy architektury, która działa gdy notifydatasetChanged() jest wywoływana.
- Sposób getView nazywa
- Na wezwanie widzenia get, będzie rekonstruować wszystkie wiersze w widoku listy.
W twoim przypadku musimy animować metodę getView (która będzie ponownie wywoływana w akcji notifydatasetchanged). Oto rozwiązanie:
/**
* 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;
}
Sprawdź, czy to działa i daj mi znać, czy było to przydatne/pomocne.
w swoim kodzie pokazujesz jak animować wybrany wiersz. W moim pytaniu mówię o animacji innych wierszy, gdy wybrana została usunięta. Chcę to po notifyDataSetChanged(); nazywa się wiersze w górę wraz z animacją. – Alex
@Alexey, Proszę zobaczyć moją zaktualizowaną odpowiedź, Dzięki –
- 1. Animuj elementy listview po ich dodaniu/usunięciu ze źródła danych
- 2. ListView Binding z DataTable, nie aktualizowanie po usunięciu wiersza
- 3. Pliki FILESTREAM pozostały po usunięciu wiersza
- 4. Android: Jak zażądać od Cursora odświeżenia ListView po usunięciu wiersza bazy danych?
- 5. Po usunięciu
- 6. Pobierz wszystkie elementy ListView (wiersze)
- 7. Problemy po usunięciu DbContext
- 8. C# - jak odświeżyć DataGridView po usunięciu wierszy
- 9. Obliczanie przesunięcia poziomego do przewijania ListView do środka zaznaczonego elementu
- 10. Przywracanie navigationItem.title po usunięciu navigationItem.titleView
- 11. Zachowaj MemoryMappedFile Alive po usunięciu
- 12. Fragment nadal istnieje po usunięciu?
- 13. Przejście CSS po usunięciu klasy
- 14. powiadomienie angularJS po usunięciu elementu
- 15. Jak uzyskać tytuł wiersza zaznaczonego w widoku UITable
- 16. Jak zrobić prawidłowy właściciel-wyciąg z zaznaczonego wiersza pełnego wiersza TDBGrid, gdy TDBGrid.DefaultDrawing ma wartość false?
- 17. Umieszczanie ViewPager jako wiersza w ListView
- 18. Jak zapobiec usunięciu pierwszego wiersza w tabeli (PostgreSQL)?
- 19. Numer telefonu iPhone po usunięciu aplikacji
- 20. Jak usuwać pliki po usunięciu rekordu?
- 21. Jaką zgodność utracę po usunięciu przedrostka -khtml?
- 22. Usuwanie bazy danych po usunięciu Konta
- 23. Brakujące zadania po usunięciu wtyczek jenkins
- 24. Zdarzenie dotykowe: po usunięciu palca z elementu
- 25. Błąd instalacji Mavena po usunięciu folderu .m2
- 26. Odśwież Galerię po usunięciu pliku obrazu?
- 27. Treenode nie rozwija się po usunięciu węzła
- 28. development.log nie loguje się po usunięciu pliku
- 29. Pamięć nie zwalniająca po usunięciu fragmentu
- 30. javascript event handler po usunięciu węzła
Czy to działa? http://stackoverflow.com/a/6857762/832776 –