2012-06-08 18 views
7

Programatik olarak, farklı dizelerle StaticLayouts oluşturuyorum ve ardından her birini bir tuvale eklenmiş olan bir bitmap'e uygulamıyorum. SL, SL kurucusunda tanımladığım sabit yükseklikten kesilmeden önce iki satıra kadar görüntüler. Ancak metnin gösterilenden daha uzun olduğunu belirtmek için elips yoktur. bufend, ben TextUtils.TruncateAt.END istediğinizi bilmesiniElips yüksekliğini aştığı zaman StaticLayout metnine nasıl eklenir?

StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth) 

, ama ben bufstart için belirleyici olmalıdır anlamaya olamaz: http://developer.android.com/reference/android/text/StaticLayout.html itibaren

Ben üçüncü yapıcı sonunda kesme argümanları olduğunu görmekteyiz ve ellipsizedWidth. Özellikle bu kurucunun iyi bir örneğini bulamadım ya da hedefime ulaşmaya bile yardımcı olsaydı.

cevap

1

Değil% 100 Android ile tanıdık, ama aynı konuyu kendim oldu ve bu ne buldum geçerli:

  • bufstart - (kaynakta) ilk karakterin dizin düzeni
  • dahil etmek
  • bufend - son karakterin dizin düzeninde
  • outerWidth içerecek şekilde - bütün metni içeren hayali kutunun genişliğini düşünüyorum
  • ellipsizedwidth (sadece gerçekten çok geniş yaptık) - genişliği arasında kutunuzun içine çizim, eğer mektubu eğer metin kesilecek ds bu

Kendine emin olmayan bir cevap için üzgünüm, ama hala öğreniyorum!

İlgili konular