Table of contents

  1. rect 경계선이 이상하게 그려질 때 처리 방법 (Rect.inset)
  2. Vertical Center 로 텍스트 그리기

rect 경계선이 이상하게 그려질 때 처리 방법 (Rect.inset)

Round

StackOverflow

rect.inset 메소드를 활용한다.

rect.inset(strokePaint.strokeWidth / 2, strokePaint.strokeWidth / 2)

stroke 는 rect 를 중심으로 그리므로 stroke width 의 절반은 canvas 밖으로 나가버리기 때문이다.

Vertical Center 로 텍스트 그리기

출처:StackOverflow

textPaint.setTextAlign(Paint.Align.CENTER);
int yPos = (int) ((canvas.getHeight() / 2) - ((textPaint.descent() + textPaint.ascent()) / 2)) ; 
// ((textPaint.descent() + textPaint.ascent()) / 2) is the distance from the baseline to the center.