2016-04-01 24 views
-1

Android'de bir çizim uygulaması yapıyorum ve buna takılıyorum; Text çok büyük olduğunda, Canvas genişliğinin dışına çiziyordu, şimdi çözüldü, ancak sorun, metnin kanvas yüksekliğinden çıktığında, tüm metin yüksekliğini nasıl hesaplayabilirim ve dışarı çıkarsa, yukarı bu yüzden ekrana sığabilecek mi?Android'de tuval yüksekliğinden çıkarıldığında çizilmiş metin nasıl taşınır?

Zaten iki kanvas ile denedim ve ikinci tuval üzerine çizerek dışarı çıkarsa sadece canvas.translate (x, y) kullanın, ancak hala çalışmıyor.

enter image description here

cevap

0

Android API Düzenin sınıfları (paket android.text) kümesini, bu metnin oluşturulmasını uygulamak vardır.

Örnek:

int maxWitdh; // mam witdh of text 
StaticLayout layout = new StaticLayout(text, mPaint, maxWidth, Alignment.ALIGN_NORMAL, 1, 0, true); 

int height = layout.getHeight(); 

layout.draw(canvas); 
+0

Bunu denedim ve metin ekran genişliğinden çıktığında daha iyi oldu, ancak hala yükseklik problemimi çözmüyor: /, metin hala ekranın yüksekliğinden çıkar. – Cath

0

StaticLayout ile ben bütün metnin yüksekliğini var ve ekranın yüksekliği ile karşılaştırıldığında, onu anladım.

if (layoutHeight > height - coordinateY){ 
    secondCanvas.translate(getCoordX(), height-layoutHeight); 
} 

Artık yükseklikten asla çıkmıyor.