我需要制作包含图片和文字的“页面”(最有可能使用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 这些值是像素吗?
答案 0 :(得分:1)
我真的不明白为什么要测量你的文字,但就像你有:
paint.measureText("a");
你可以测量任何字符串,而不仅仅是字符。如果您想手动分割文本(我不建议这样做),您可以检查文本的度量是否高于可用宽度。
是的,measureText
会在px