Paint.setTextSize()的参数代表什么?

时间:2010-08-25 19:58:21

标签: java android user-interface

我正在尝试编写独立于分辨率的Android游戏。我有一些文本要渲染到画布上,并使用Paint.setTextSize(...)来设置文本的大小。参数代表什么?字母的高度,以像素为单位?

我不确定如何根据屏幕的密度或大小设置此参数。我通常希望我的文本尽可能地填充屏幕的某个矩形(即我希望文本尽可能接近矩形的整个高度,而文本的宽度不会超出矩形)但我不是我一定会这样做的。我知道布局和textview小部件可能有所帮助,但因为它是一个游戏,我需要在演示中有很大的灵活性。

1 个答案:

答案 0 :(得分:4)

根据经验,它是像素(真实像素,不是倾角:我尝试了Galaxy Tab 10.1“(mdpi)和240 dpi(hdpi)的模拟器,结果几乎相同......实际上,字体是两个虽然getFontSpacing()返回相同的数字但是模拟器上的像素更小;下面的结果是针对Galaxy Tab的。我正在绘制一个位图...我认为它与View的Canvas相同?)。

我将文本大小设置为40并且getFontSpacing()返回46.使用屏幕上的网格我发现大写字母的高度大约是29像素高,从“T”顶部到“g”的底部约为39个像素,并且从ÁccentedÍ的顶部到“g”的底部的距离是48个像素(包括)。字体为Typeface.defaultFromStyle(Typeface.NORMAL)

相关问题