如何获得textview文本下方空间的像素大小? (不是底部填充)

时间:2016-02-13 02:48:22

标签: android textview android-canvas

bottomPadding返回0并设置为0,但我的textview仍然在它的文本下方有填充。

enter image description here

我试图在画布上绘制与textview相同高度的文本,但是由于某些原因,Paint.drawText()会忽略底部的额外填充。

由于canvas对象的原点是左下角,我必须从下面提供文本的y位置。

我无法做到以下几点:

yPosition = textview.bottom + ((rectbounds.getHeight() - textViewHeigth)/2)

这是因为文本顶部的空间大小大于底部空间。

从textview中删除多余的空间也可以解决我的问题。但是,我已经尝试将includeFontPadding设置为false,并将padding设置为0,但都不起作用。

1 个答案:

答案 0 :(得分:2)

如果在TextView中放置'g','p','y'或'j'会怎样?这些字符中的每一个都有一个descender,字体的度量标准将始终为许多脚本的此功能分配空间。这是为了允许多行流动文本不应相互塞满。

如果您确实需要获取字体下划线的大小,可以使用Paint对象,使用Typeface加载它并询问其descent()。但是我认为TextView不会改变它为你渲染线条的方式。如果必须忽略下降,请在自定义视图中绘制自己的文本。