2012-10-26 13 views
10

Bir zaman çizelgesi uygulamak için ListView kullanıyorum. FastScroll'u etkinleştirdim ve SectionIndexer kullandım, böylece kullanıcı kaydırma çubuğunu sürükleyebilir ve görüntülenen bölüm metnini görebilir.Android ListHarita bölümleri ile hızlı kaydırma: bölüm metni çok uzun

Sorun, bunların hepsi yerleşik kullanıcı arayüzüdür. Bölüm metnini görüntüleyen metin görünümü benim için çok küçük, ben 05:00 göstermeye çalışıyorum ve metin görünümü (veya diğer UI?) Için çok uzun.

Bunu çözmenin daha kolay bir yolu var mı? Örneğin, bölüm metninin veya metin görünümü düzeninin yazı tipi boyutunu ayarlayabileceğim bir yöntem mi?

Teşekkürler!

Movie Timeline with FastScroll enabled

+0

Aynı sorun burada. Tüm bulabildiğim bir tost mesajı görüntüleyen özel hızlı kaydırma uygulamasıdır. Kesinlikle yazı tipi boyutunu azaltmanın bir yolu olmalı. – Praveen

+0

offtopic, ancak kalın yazı tipi için hangi yazı tipini kullanıyorsunuz? ontopic: Uzman değilim, ama hız gezgininin bir görünüm olduğunu tahmin ediyorum, bu yüzden onu şişirmenin bir yolu olmalı ve içindeki metin görünümünü değiştirmelisiniz. –

+0

@EvanR. "kalın yazı tipi için hangi fontu kullanıyorsunuz?" Siyah ile sadece normal yazı tipi. cesur ve büyük boy. –

cevap

1

AbsListView için kaynak kodu ile bakıldığında FastScroller olmak biter hızlı kaydırma mekanizması kolları sınıfını bulabilirsiniz. FastScroller aslında sınır saygı duymayan bu yüzden aslında Yukarıdaki kod alt görüntü çekilebilir üstüne metin çizer

canvas.drawText(mSectionText, (int) (rectF.left + rectF.right)/2 - hOff, (int) (rectF.bottom + rectF.top)/2 + mOverlaySize/4 - descent - vOff, paint); 

görüntü çekilebilir ve böylece gibi AbsListView sağlanmıştır tuval üzerine metni ... çizer Alt kısım çizilebilir, bu yüzden metin aslında taşan ve kesilmiyor. Bunun neden bu şekilde tasarlandığını? Tahminimce indeks özelliğinin amacı, A, B, C, vb. Gibi tek karakterler için kullanıldı. Bu nedenle, hızlı kaydırma indeksi özelliği buna uygun olacak şekilde tasarlandı. Yani

, sorunuzun kesin bir cevap vermek gerçekten metin boyutunu değiştirmek veya metin AbsListView ve FastScroller ihtiyaca uygun modifiye sürece çekiliyor şeklini değiştirmek için hiçbir yolu yoktur.