2012-06-02 25 views
6

Ben android için yeni. Yatay arama çubuğunu canlandırmaya çalışıyorum ama şu ana kadar yapamadım. Sadece arama çubuğunun ilerlemeyi 1 dk. Birisi standart arama çubuğunu nasıl canlandıracağım konusunda fikirler/kod pasajı önerebilir/verebilir mi?Arama çubuğunu canlandırmak için animasyon nasıl kullanılır

Nesnedenleştirici veya valueAnimation gibi nasıl bir animasyon kullanmalıyım? Bir sonraki pozisyona geçmek için başparmağınızı hareketlendirmek için bir çalışma metodu tanımam gerekir (Emin değil!).

Şimdiden teşekkürler.

cevap

13

bunu yapmanın bir yolu ValueAnimator kullanmaktır: aka hem önerilen yöntemler Honeycomb (API 11 gerektirdiğini

final SeekBar seekBar = findViewById(R.id.seekBar); 
ObjectAnimator anim = ObjectAnimator.ofFloat(seekBar, "progress", 0,seekBar.getMax()); 
anim.setDuration(10000); 
anim.start(); 
+0

Not: (test bu sığınak)

final SeekBar seekBar = findViewById(R.id.seekBar); ValueAnimator anim = ValueAnimator.ofInt(0,seekBar.getMax()); anim.setDuration(1000); anim.addUpdateListener(new AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { int animProgress = (Integer) animation.getAnimatedValue(); seekBar.setProgress(animProgress); } }); 

bir başka yolu olabilir 3.0) veya üstü. –

+5

ikinci seçeneği kullanmaya çalışırken Seekbar, günlüklere bakarak görünümde yanıltıcı oldu, ben uyarı hatası verdim "target.google system.widget.seekbar üzerinde bulunan tip float ile method setProgress()." _ Bu Geçerli sözdizimi ayarlandığı için, "ObjectAnimator", SeekBar örneğinin bir "setProgress (float val)" yöntemine sahip olmasını bekler, ancak SeekBar'ın yalnızca bir "setProgress (int val)" yöntemine sahip olduğunu sanırım. SeekBars –

+0

@MarquisBlount adam ile ilgili çalışırken, bu ObjectThimator.ofFloat yerine ObjectAnimator.ofFloat yerine bu çalışma işlevini kullanmak için teşekkür ederim, "Hedef sınıf X'de bulunmayan tip float ile" method setProgress() sorunu var " ve senin yorum yararlı oldu :) –

İlgili konular