2012-03-24 3 views
5

아랍어 텍스트의 경우 Paint.measureText가 정확하지 않습니다. 내가 시도한 것은 다음과 같습니다.Android TextView 아랍어 용 텍스트

TextView tv1이 있습니다.

tv1.getWidth();은 480입니다. 괜찮습니다. tv1.getPaint().measureText("المؤلف : عبدالرحمن ابن أبي بكر أبو الفضل السيوطي");은 화면 너비보다 큰 502를 제공합니다.

텍스트의 선 너비가 약 80 %이므로 잘못된 결과입니다! 결과는 약 400이어야합니다.

감사합니다.

+0

안녕하세요, 나도 같은 종류의 문제가 있습니다. 당신이 이것을위한 해결책을 가지고 있다면 저를 도와주세요. – Raj

+0

저도 같은 문제가 있으며 문제는 Galaxy Tab에서만 나타납니다! 갤럭시 S3에서 잘 작동합니다! – AVEbrahimi

+0

동일한 문제가 발생했습니다. 글꼴을 변경하십시오. –

답변

0

오늘이 문제에 직면했습니다. 모든 것이 예상대로 작동하고 있으므로 텍스트에 ّ ِ ُ َ 문자와 같은 아랍어 모음이 포함되어있을 때 별도의 문자로 안드로이드 Paint.measureText가 너비로 계산된다는 사실을 알고 있어야합니다. 여분의 너비를 추가하지 않고 다른 문자의 위쪽과 아래쪽에 그려집니다.

해결책은 다음과 같습니다. 먼저 텍스트에서 해당 문자를 제거한 다음 텍스트를 측정해야합니다.