2013-10-16 4 views
0

) 서페이스 뷰에서 String을 어떻게 수평 가운데에 배치합니까? 이 화면의 중앙에서 시작하여 텍스트를 표시하는 것이기 때문에서페이스 뷰에서 텍스트 가운데 정렬하기 (

나는

c.drawText(""+score, c.getWidth()/2, y); 

를 원하지 않는다.

나는

c.drawText(""+score, c.getWidth()/2-score.length()/2*fontSize, y); 

같은이 문제를 해결하기 위해 방정식이 있는가 싶어? 그렇지 않은 경우 텍스트를 표면보기로 가운데 정렬하는 다른 방법이 있습니까?

나는 사용자 정의 글꼴을 사용하고 있습니다. 변경 사항이 있는지 여부는 알 수 없습니다. 글꼴에 대한 추가 정보가 필요하면 의견을 말하십시오.

답변

3

수동으로 계산할 필요는 없습니다. 당신은 당신의 Paint 객체에 몇 가지 추가 매개 변수를 지정해야합니다

canvas.drawText("CENTERED TEXT", canvas.getWidth()/2, posY, paint); 
:

Paint paint = new Paint(); 
paint.setColor(textColor); 
paint.setTextSize(28); 
paint.setTypeface(typeface); 
paint.setTextAlign(Align.CENTER); 

의 핵심은이 방법으로 당신은 그냥 호출 할 수 Align.CENTER을 지정할 필요가있다