Chcę zaimplementować animację, taką jak google + listview. Gdy użytkownik przesunie widok listy, każdy element, który pierwszy załadował listę, uruchomi animację. Próbuję dodać animację w metodzie getview do animacji każdego ale chcę potwierdzić, czy jest to dobra metoda i czy muszę rozszerzyć klasę listview, aby to zakończyć? Więc proszę, daj mi kilka rad lub kilka przykładów, które przypominają google + listview. Bardzo dziękuję :)Jak zaimplementować animację Google Listview
Odpowiedz
You nie trzeba rozszerzać klasy ListView.
Oto biblioteka Androida, która zaimplementowała podobną do Google animację ListView.
Jak to działa jest w getView
metody adaptera, to ożywia widok jeśli jest nowo załadowany.
(Tak, to rozszerzony adapter, nie ListView, aby animację.)
Można również pobrać aplikację próbce za apk w link sugared-list-animations-sample
Google Plus ListViews styl są wszystkie wściekłość te dni na Androida ze względu na zręczne animacje wyświetlane podczas prezentacji danych. Gdy użytkownik przewija w dół, nowe elementy animować się w polu widzenia, i szczerze mówiąc wygląda niesamowite up_from_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="@android:anim/decelerate_interpolator">
<translate
android:fromXDelta="0%" android:toXDelta="0%"
android:fromYDelta="100%" android:toYDelta="0%"
android:duration="400" />
</set>
dół od góry down_from_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="@android:anim/decelerate_interpolator">
<translate
android:fromXDelta="0%" android:toXDelta="0%"
android:fromYDelta="-100%" android:toYDelta="0%"
android:duration="400" />
</set>
w twojej lista adaptera klasa
private int lastPosition = -1;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//Load your view, populate it, etc...
View view = ...;
Animation animation = AnimationUtils.loadAnimation(getContext(), (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);
view.startAnimation(animation);
lastPosition = position;
return view;
}
skopiowany z http://kylewbanks.com/blog/Implementing-Google-Plus-Style-ListView-Animations-on-Android
To będzie stosowane przy każdym przewijaniu, nie tylko do nowych elementów w widoku listy, takich jak Google+ – SpyZip
fajnie, bardzo dziękuję :) – CrystalJake
bardzo piękna :) Wielkie dzięki – nguoitotkhomaisao