Android 在曲面视图中居中文本(字符串)

Android 在曲面视图中居中文本(字符串),android,string,canvas,surfaceview,centering,Android,String,Canvas,Surfaceview,Centering,如何在曲面视图中水平居中放置字符串 我不想要 c.drawText(""+score, c.getWidth()/2, y); 因为这将显示从屏幕中央开始的文本 我想要像这样的东西 c.drawText(""+score, c.getWidth()/2-score.length()/2*fontSize, y); 有解决这个问题的方程式吗?如果没有,是否有其他方法在曲面视图中居中显示文字 顺便说一句,我使用的是自定义字体,我不知道这是否会改变任何东西。如果您需要了解有关字体的任何其他信息,请

如何在曲面视图中水平居中放置字符串

我不想要

c.drawText(""+score, c.getWidth()/2, y);
因为这将显示从屏幕中央开始的文本

我想要像这样的东西

c.drawText(""+score, c.getWidth()/2-score.length()/2*fontSize, y);
有解决这个问题的方程式吗?如果没有,是否有其他方法在曲面视图中居中显示文字


顺便说一句,我使用的是自定义字体,我不知道这是否会改变任何东西。如果您需要了解有关字体的任何其他信息,请发表评论。

您不必手动计算。您只需要在对象中指定一些额外的参数:

关键是您需要指定Align.CENTER,这样您就可以调用:

canvas.drawText("CENTERED TEXT", canvas.getWidth()/2, posY, paint);
canvas.drawText("CENTERED TEXT", canvas.getWidth()/2, posY, paint);