Tworzę animację, w której obraz jest przenoszony z jednego kierunku do drugiego, animacja przesuwa połowę obrazu na zewnątrz ekranu, ale obraz jest pełny, gdy animacja się kończy. Chcę pokazać połowę obrazu po animacji.Jak wyświetlić część obrazu na ekranie na końcu animacji
Obecnie używam pełnego obrazu w widoku obrazu, gdy animacja się rozpoczyna i zastępuję go półobrazem po zakończeniu animacji, ale pokazuje odbicie zmiany obrazu, które wygląda na niezręczne, co jest moim rzeczywistym problemem.
Poniżej znajduje się mój plik xml i klasy.
kod animacji
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration = "2000"
android:fillBefore="true"
android:fillEnabled="true"
android:fromXDelta = "-300%"
android:fromYDelta="200%"
android:toXDelta="60%">
</translate>
animimv5.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
imv5.setBackgroundResource(R.drawable.img5);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imv5.setBackgroundResource(R.drawable.img5_2);
}
});
Sprawdź ten wpis: http://stackoverflow.com/questions/3345084/how-can-i-animate-a-view-in-android-and-have-it-stay-in-the-new-position-size fillAfter = true fillEnabled = true – Juangcg
spróbuj użyć 'fillAfter (true)' – Siddhesh
Do jakiego zestawu SDK kierujesz? Mogę wysłać Ci pełne rozwiązanie za pomocą ObjectAnimatora, ale działa tylko z poziomu interfejsu API 11. – Ivelius