Pratik Android 5 – Canvas Yazı Ortalamak

Android üzerinde çizim işlerimizi yaparken canvas nesnesini kullanıyoruz.Bu nesne bize verdiği olanaklarla çizimler yapabilmemizi sağlıyor.Bu nesne üzerinde çizimler genelde pozisyon verilerek yani x ve y koordinat sisteminde sol üst köşesi orijin olacak şekilde referans değerler alıyor.Canvas nesnesi üzerindeki string ifade yazdırabileceğimiz metodlar;

// OUTPUT CODE
void drawText(CharSequence text, int start, int end, float x, float y, Paint paint)

void drawText(String text, float x, float y, Paint paint)

void drawText(String text, int start, int end, float x, float y, Paint paint)

void drawText(char[] text, int index, int count, float x, float y, Paint paint)

void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint)

void drawTextOnPath(char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint)

void drawTextRun(char[] text, int index, int count, int contextIndex, int contextCount, float x, float y, boolean isRtl, Paint paint)

void drawTextRun(CharSequence text, int start, int end, int contextStart, int contextEnd, float x, float y, boolean isRtl, Paint paint)

Bu metodları kullanarak yazdırdığımız string ifadeler pozisyonlaması sol üstten başlayacak şekilde gider.Yazacağımız şu metod ile Canvas değerinin
ortasına çizim yaptırabileceğiz.

// JAVA CODE

0
private Rect r = new Rect();
1
2
private void drawCenter(Canvas canvas, Paint paint, String text) {
3
canvas.getClipBounds(r);
4
int cHeight = r.height();
5
int cWidth = r.width();
6
paint.setTextAlign(Paint.Align.LEFT);
7
paint.getTextBounds(text, 0, text.length(), r);
8
float x = cWidth / 2f - r.width() / 2f - r.left;
9
float y = cHeight - 10f ;//ben alt tarafa yaslamak istedim siz isterseniz height / 2f diyebilir tam ortaya getirebilirsinbiz
10
canvas.drawText(text, x, y, paint);
11
}

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir