0

我需要制作包含图像和文本的“页面”(最有可能使用 ViewPager)。

例如首先会有图像,在图像下载时将获得图像尺寸。布局上的图像将留下 X 空间,我可以在其中显示 Y 长度文本。然后对于下一页,我会将其余文本拆分为要显示的新字符串。TextSize 以单位为dp单位。

我想知道平均字母需要多少像素,然后计算我可以在一页中显示多少行。

进行这些计算的最佳方法是什么?

首先我做了字母计算

 final float densityMult = ctx.getResources().getDisplayMetrics().density;
    final float scaledPx = 20 * densityMult; //i guess its same as 20dp
    paint.setTextSize(scaledPx);
    final float size = paint.measureText("a");

在 480x800 3.7" 屏幕上它返回值 16.0 和 540x960 4.0" 17.0 这些值是像素吗?

4

1 回答 1

1

我真的不明白你为什么要测量你的文字,但就像你有:

paint.measureText("a");

您可以测量任何字符串,而不仅仅是字符。如果您想手动拆分文本(我不建议这样做),您可以检查文本的尺寸是否高于可用宽度。

measureText的,返回测量值px

于 2013-07-16T19:35:31.983 回答