我正在开发一个用于在3行内写入文本的应用程序。我可以借助此代码获取文本的基线。
mRect r = new Rect();
for (int i = 1; i < count; i++) {
int baseline = getLineBounds(i, r);
Log.e("baseline","baseline:"+baseline);
canvas.drawLine(r.left, baseline, r.right, baseline, paint);
}
现在我能够绘制3条线并使用此代码
编写与此行对齐的文本 for (int i = 1; i < count; i++) {
int baseline = getLineBounds(i, r);
Log.e("baseline","baseline:"+baseline);
canvas.drawLine(r.left, baseline, r.right, baseline, paint);
canvas.drawLine(r.left, r.top+10, r.right, r.top+10, paint);
canvas.drawLine(r.left, (baseline+r.top+10)/2, r.right, (baseline+r.top+10)/2, paint1);
}
问题是当我在不同分辨率的手机上尝试同样的事情时,一切都不对齐,但基线仍然完全对齐,所以我想知道是否有另一种方法来对齐文本的顶线。我的textsize是35 sp
非常感谢任何帮助
此致