如何创建大小与矩形成比例的文本

时间:2016-11-01 23:53:02

标签: java android

Screenshot for context

所以我创建了一个小菜单系统,每个按钮使用RectF。这主要用于持久性选项,例如反转加速度计的X或Y轴,或设置显示的点数。按钮的尺寸使用屏幕尺寸和方向计算,以便它们在每个设备上看起来都相同,并且无论哪个方向。

因为我已经定义了这些矩形,所以我想在其中放置缩放到那些矩形的文本。我想到的一种方法是将大文本绘制到位图,该位图是文本边界高度“Aq”的高度,并且对于文本来说足够宽。有了它,我可以将位图缩小到与recatngles成比例的大小。但我不确定这是否是最有效的方法。是否有一些数学计算文本大小属性(在Paint对象?)基于这些矩形的尺寸,以便我可以使用DrawText将文本放在这些矩形上?或者我应该只使用位图的想法?

1 个答案:

答案 0 :(得分:0)

好的,所以文本大小实际上是文本的高度,所以我给它的大小是要绘制的矩形高度值的一半。噗它每次都是一个完美的大小。从那里,我将文本上的对齐设置为居中,并将文本放在矩形的中心坐标处。我还必须将文本的一半大小添加到文本y坐标中,以便文本居中。

 canvas.drawText("Flip X Axis",myRect.centerX(),myRect.centerY()+ (textSize/2), myPaint);

Result