Sonunda etrafta dolaşmanın bir yolu var. Bunu yapmanın doğru yolu setFillAfter(true)
,
Eğer o zaman ben de filterAfter="true"
tanımladığınız görebilirsiniz bu
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="0%"
android:toXDelta="-100%"
android:duration="1000"/>
</set>
gibi bazı şey yapması gerektiğini xml Animasyonunuzu tanımlamak istiyorsanız olduğunu set
etiketi, eğer translate
etiketinde tanımlamaya çalışırsanız, işe yaramazsa, çerçevede hata olabilir! Code
ve sonra
Animation anim = AnimationUtils.loadAnimation(this, R.anim.slide_out);
someView.startAnimation(anim);
VEYA
TranslateAnimation animation = new TranslateAnimation(-90, 150, 0, 0);
animation.setFillAfter(true);
animation.setDuration(1800);
someView.startAnimation(animation);
o zaman mutlaka çalışacaktır !!
Şimdi bu biraz zor görünüyor çünkü görünüş aslında yeni pozisyona geçiyor, ama aslında görüntünün pikselleri hareket ettiriliyor, yani görünümünüz aslında ilk pozisyonunda ancak görünür değil, görünürse test edebilirsiniz. Eğer gördüğümüz gibi manuel
public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
new TranslateAnimation(-90, 150, 0, 0);
şimdi yeni bir konuma sizin görünümü/düzen taşımak zorunda düzeltmek, (düzeninde benim durumumda) size görünümünde bazı düğme veya tıklanabilir görüşe sahip olduğunu bizim animasyon olacak -90 x ekseni ile 150 x ekseni
'dan başlayarak
ve şimdi
public void onAnimationEnd(Animation animation)
{
someView.layout(150, 0, someView.getWidth() + 150, someView.getHeight());
}
animasyonu çevirmek çünkü ben, olan sol tanımlamak yeni pozisyon ilk argüman için düzeninizi taşır public void layout (int left, int top, int right, int botton)
açıklayalımgörüşümüzü animasyonlu etti 150 x ekseni, üst 0 çünkü biz y eksenini animasyon etmedik, şimdi sağda yaptığımız gibi someView.getWidth() + 150
temel olarak görünümümüzün genişliğini elde ediyoruz ve ekledik, çünkü sol tarafımızın görünüm genişliğini kendi menşei haline getirmek için 150 x ekseni'a gidiyoruz ve alt bizim görünümümüzün yüksekliğine eşittir.i layout()
yöntemini kullanmayın :)
DÜZENLEMEYİ yardım etmek zevk hissediyorum,
Ben insanların artık çeviri kavramını anIadiniz, ve hala hemen yorum bölümüne sorabilir herhangi bir sorunuz Görünümün geçersiz kılındığı ve değişikliklerin ön plana çıkmayacağı çerçeveyle çağrılabileceği gibi, düzen parametrelerinizi gereksiniminize göre ayarlamak için LayoutParams
'u kullanın.
! tam olarak ihtiyacım olan şey. Teşekkürler! – LoneWolfPR
Ama aynı şeyleri kaydırmak zorundaysa ne yapmalıyım? onun aslında taşınmamış beri o zaman ben slayt var ben nesneyi SlideOut ??? – Ads
Eğer yapsanız bile * permeneny * 'View' inizi 'onAnimationEnd()' ye taşıyın ** flicker **. Kontrol edin: http://stackoverflow.com/questions/2650351/android-translateanimation-resets-after-animation –