2013-06-11 5 views
1

타이머에 대한 맞춤보기를 작성하고 있지만 중간에있는 숫자에 대해 올바르게 고정 폭 글꼴을 가져올 수 없습니다. 여기에 (두 가지 방법에서) 관련 코드입니다 :Android 모노 스페이스 글꼴이 고정 폭이 아닙니다.

mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); 
mTextPaint.setTypeface(Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL)); 

// Get rectangle that is the size of the text 
mTextPaint.getTextBounds(
     getTimeText(), 
     0, 
     getTimeText().length(), 
     mTextBounds); 

// X and Y coordinates of text 
float mTextPosX = (width/2) - (mTextBounds.width()/2); 
float mTextPosY = (height/2) + (mTextBounds.height()/2); 

// Draw text 
canvas.drawText(
     getTimeText(), 
     mTextPosX, 
     mTextPosY, 
     mTextPaint); 

이 잘 작동하는 것 같다,하지만 1로 번호 변경 중 하나는, (1)는 적은 공간과 이상 텍스트 이동의 전체 덩어리를 소요 할 때마다 비트. monospace 폰트를 사용하고 있기 때문에 이것은 분명히 일어나지 않아야합니다. 아무도이 문제를 해결할 수있는 방법을 밝힐 수 있습니까?

+0

안녕하세요. 고칠 수 있습니까? 같은 상황에있어. – RominaV

답변

0

나는 동일한 문제가있었습니다. 이 문제를 해결하는 방법은 "1"이 예상대로 작동하는 외부 글꼴을 사용하는 것입니다. 시도 할 글꼴이 많은 웹 사이트는 http://www.fontcubes.com/입니다. Android에서 외부 글꼴을 사용하는 방법에 대한 관련 토론은 여기에서 있습니다 : How to change fontFamily of TextView in Android.

관련 문제