2012-02-06 18 views
6

UI öğelerini animasyonlu hale getirmeye çalışıyorum. Bir editText ve bir Düğmeyi ekranın üstünden ekranın üst kısmına taşımak ve bunların altındaki bir http çağrısının sonuçlarını bir tabloda görüntülemek istiyorum. Herkes bana doğru yönde işaret ederse harika olurdu, bu noktada bunun için Java veya XML kullanmam gerekip gerekmediğini bilmiyorum.Android ui ögesi animasyonu

Şimdiden teşekkürler. Bunu başarmak için

cevap

8

Kullanım Çeviri çerçeve, bu gibi çalışır:

mAnimation = new TranslateAnimation(0, 0, 0, 599); 
    mAnimation.setDuration(10000); 
    mAnimation.setFillAfter(true); 
    mAnimation.setRepeatCount(-1); 
    mAnimation.setRepeatMode(Animation.REVERSE); 
    view.setAnimation(mAnimation); 
İşte

görüntülemek şu şekildedir:

TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 

Yani, y ekseni yönünde görünümü hareket için kod yazmak gerekir herhangi bir şey olabilir, textview, imageView vb

+0

Teşekkür ederim, tam olarak aradığım şey buydu. – Meatje

1

kabul edilen yanıt kodumun içinde bir hataya neden oldu, kod snippet'i hemen hemen aynı kabul edilen yanıtla aynı & wo bir nesneyi ekrandan kaydırarak hata yapmadan ripped. keyPad'e 'kaydırmak' için de bağlı olan hareketlere ihtiyacım vardı ve TranslateAnimation'dan ObjectAnimator'a (aşağıdaki ikinci kod bloğu) geçiş yaptım.

final LinearLayout keyPad = (LinearLayout)findViewById(R.id.keyPad); 

moveKeyPadUp(keyPad); 

private void moveKeyPadUp(LinearLayout keyPad){ 
     Animation animation = new TranslateAnimation(0,0,0,-500); 
     animation.setDuration(1000); 
     animation.setFillAfter(true); 
     keyPad.startAnimation(animation); 
} 

private void moveKeyPadUpdated(LinearLayout keyPad){ 
     ObjectAnimator mover = ObjectAnimator.ofFloat(keyPad,"translationY",0,-500); 
     mover.setDuration(300); 
     mover.start(); 
} 
İlgili konular