2009-11-19 5 views
20

SeekBar'ı bir sürgü olarak kullanıyorum çünkü başka bir şey bulamıyorum, ancak çok fazla hacky çalışması yapmam gerekiyor çünkü minimum bir değer ayarlamam veya ints arasında gitmeme izin vermiyor. Yani, 0'dan başka bir değere başlamak veya bir kayan nokta numarası döndürmek için bir kaydırıcıya ihtiyacım varsa, kontrolün gerçek maksimum değerini açıklamamış ve sonra böl ve/veya ekle/Okuduğumda "ilerleme" değerini çıkar. Kaydırıcı değerlerimi dönüştürmek için tüm bir sınıfı yazmayı bitirmeden önce, daha iyi bir yol var mı? Ben Android 1.6 kullanıyorum ... 2.0 ya da başka herhangi bir belgelenmiş gelecek sürümde bir sürgü kontrolü var mı? Sadece benim kaydırıcı değerlerini dönüştürme işlemek için bütün bir sınıf yazma germeden önceAndroid'de Slider kontrolü ... SeekBar gerçekten benim en iyi/tek seçeneğim mi?

+1

Atanan, çünkü gerçekten SeekBar'dan daha iyi bir şeye ihtiyaçları var. Umarım gelecekte UISlider eşdeğerini alırız. –

+0

@Ben Katılıyorum! Güzel bir sürgüye ihtiyacımız var! –

cevap

4

, daha iyi bir yolu var mı?

Gerçekten değil. Yeni başlayanlar için, pek çok telefon donanımda kayan nokta desteği olmadığından, SeekBar kayan noktalı aritmetik gibi bir şey istemiyorsunuz, bu nedenle kayan nokta işlemleri yavaştır. Kendi özel minimumunuzu belirlemenize izin vermedikleri için, sadece maksimum yerine, söyleyemem.

+0

Şimdilik, sabitleri ve yardımcı yöntemleri ile "görünüm modeli" gibi davranan bir sınıf yazdım. Min değerinin sıfır olmaması durumunda eklemek/çıkarmak için "ofset" sabitlerini kullanıyorum, floatlarımı taklit etmek için çarpmak ve bölmek için diğer sabitleri "dönüştürme faktörleri" olarak adlandırıyorum ve dönüşümleri ve ofsetleri işlemek için ayarlayıcılar oluşturdum. gerçek ilerleme değerleri. Sınıf seviyesine bakarak temiz, ama teoride günah gibi çirkin ve yapmak istediğimden daha fazla iş. Süreç, türetilmiş denetimlere özel nitelikler eklemek için ne olduğunu görebileceğim ve belki de onu oluşturabilir veya genişletebilirim. – Rich