2012-07-09 3 views
1

setTextSize()를 사용하여 캔버스에 그려진 텍스트 문자의 높이를 조정할 수 있습니다. 예를 들어 높이가 8 픽셀 인 텍스트를 원할 경우 다음과 같이 작성하십시오.Android 문자 폭 설정

mPaint.setTextSize(8); 

매우 잘 작동합니다. 그러나, 너비를 설정하는 방법을 찾을 수 없습니다. 따라서 8x12 픽셀 문자는 12x12 문자와 완전히 동일하게 보입니다. 모노 스페이스 글꼴을 사용 중이며 캔버스에서 각 문자의 크기를 신중하게 제어하려고합니다.

픽셀 단위로 글자 너비를 설정하는 방법에 대한 아이디어가 있으십니까?

답변

1

텍스트의 세로 높이는 텍스트의 "크기"로 간주되지만 가로 너비는 "크기"로 간주됩니다. 텍스트 페인트의 수평 스케일 계수를

이 오기 [및 설정] : 당신은 페인트를 사용하여 캔버스에 텍스트를 그리는 경우 예를 들어, 페인트는 당신이 사용할 수있는 getTextScaleXsetTextScaleX라는 방법이있다.

캔버스를 사용하는 방법에 따라 사용하려는 방법이 될 수 있습니다. 대부분의 텍스트 용 방법은 실제 문자 크기를 수정하는 대신 가로 텍스트 간격을 처리합니다.

+0

감사합니다. setTextScaleX()가 수정되었습니다. 다음 문제는 텍스트가 정확하게 고정 폭을 갖지 않는다는 것입니다. 한 번에 하나씩 각 문자를 렌더링해야하는 것을 싫어합니다. 그래도 그 문제를 해결해야만합니다 ... – Batdude

+0

Droid Mono 글꼴을 사용하고 있습니까? 가로 텍스트 크기를 변경할 때 간격/커닝이 좋지 않을 수도 있습니다. 정확하게 어떤 방식으로, 정확하게 "모노 스페이스가 맞지 않습니까?" – matt5784

+0

P. 도움이된다면 내 답을 '수락'하십시오 (체크 표시 개요를 클릭 함). 또한 이전 질문으로 돌아가서 그 중 일부에 대한 답을 수락 할 수도 있습니다. 이것은 일반적으로 향후 시청자가 어떤 솔루션이 효과가 있었는지 (동일한 문제가있는 경우) 알 수 있도록하는 것이 좋습니다. – matt5784