Android 如何将TextView的字体大小与canvas.drawText匹配

Android 如何将TextView的字体大小与canvas.drawText匹配,android,android-canvas,Android,Android Canvas,我在两个地方显示文字信息。 一个是文本视图,另一个是绘制文本的视图 现在我的主要问题是,如果我在TextView中将setTextSize设置为20,则paint.setTextSize使用的字体看起来会更大 如何使它们看起来相同?这是由于TextView API中一些令人困惑的部分造成的。setTextSize需要一个SP(缩放像素)值,而getTextSize返回以像素为单位的文本大小 您希望将大小设置为20像素,因为Paint使用像素作为其文本大小,因此需要调用 您的方法调用应该如下所示:

我在两个地方显示文字信息。 一个是文本视图,另一个是绘制文本的视图

现在我的主要问题是,如果我在TextView中将setTextSize设置为20,则paint.setTextSize使用的字体看起来会更大


如何使它们看起来相同?

这是由于TextView API中一些令人困惑的部分造成的。setTextSize需要一个SP(缩放像素)值,而getTextSize返回以像素为单位的文本大小

您希望将大小设置为20像素,因为Paint使用像素作为其文本大小,因此需要调用

您的方法调用应该如下所示:
setTextSize(TypedValue.COMPLEX\u UNIT\u PX,20)

我已经链接了方法定义,因此您可以自己查看它,并确切地了解发生了什么


编辑:您在评论部分问我的问题已经在StackOverflow上得到了回答

谢谢。但是我已经用TextView完成了所有的设置。那么,获取计算的方法是什么,Textview内部将20转换为其他值,我可以使用相同的逻辑进行绘制