使用阿拉伯文本时,Paint.measureText不准确。这是我试过的:
我有一个TextView tv1。
tv1.getWidth();
给出了480,这没关系。 tv1.getPaint().measureText("المؤلف : عبدالرحمن ابن أبي بكر أبو الفضل السيوطي");
给出502,它大于屏幕宽度。
结果不好,因为文字大约占线宽的80%!结果应该是400左右。
谢谢。
答案 0 :(得分:0)
ّ ِ ُ َ
字符这样的阿拉伯元音时,它们都被计算在宽度上作为单独的字符和android.PressTereshText不知道它不应该把这些字符带入帐户,因为它们不会增加额外的宽度,它们将被绘制在其他字符的顶部和底部。
解决方案是:您应首先从文本中删除这些字符然后测量文本。