我正在尝试写一个与分辨率无关的Android游戏。我有一些文本要渲染到画布上,并使用Paint.setTextSize(...)若要设置文本的大小,请执行以下操作。该参数代表什么?字母的高度,以像素为单位?
我也不确定如何根据屏幕的密度或大小来设置此参数。我通常希望我的文本尽可能填满屏幕的某个矩形(即,我希望文本尽可能接近矩形的全高,而不希望文本的宽度超出矩形),但我不确定该如何做到这一点。我知道布局和文本视图小部件可能会有所帮助,但因为这是一款游戏,所以我需要在演示中有很大的灵活性。
发布于 2012-04-27 08:42:10
从经验上讲,它是像素(实际像素,而不是dip:我尝试了Galaxy Tab10.1“(mdpi)和240dpi (hdpi)的仿真器,结果几乎相同...实际上,仿真器上的字体小了两个像素,尽管getFontSpacing()返回了相同的数字;下面的结果是针对Galaxy Tab的。我是在绘制位图...我假设这与View的画布相同?)。
我将文本大小设置为40,getFontSpacing()返回46。使用屏幕上的网格,我发现大写字母的高度约为29像素高,从"T“的顶部到"g”的底部的距离约为39像素,从有色中心图形的顶部到"g“的底部的距离为48像素(包括在内)。字体是Typeface.defaultFromStyle(Typeface.NORMAL)。
https://stackoverflow.com/questions/3569751
复制相似问题