现在我有一个代码来计算段落的高度和宽度并相应地设置它。但是,每当一个断行(\ n)通过我的段落时,我就会遇到这个奇怪的问题。我使用这段代码来计算我的高度。我还计算宽度并确保线条合适。
float textSize = t.getTextSize();
Paint paint = new Paint();
paint.setTextSize(textSize);
然而由于某种原因,断线不能计算出高度,这意味着我会在执行计算过程中遗漏几行或显示半行原因。
我的问题是,我如何计算它占据的空间的断裂线的高度?
答案 0 :(得分:0)
我无法解决这个问题。但是我确实尝试在宽度的终点边缘删除3个额外的字符。有效。然而,真正的问题更多地在于字符宽度。如果你没有在android中注册一个字符,那么如果你的字母与常规字母表完全不同,那么计算与实际输出可能会非常不同。
使用此代码可以确定端点的边缘。
totalCurrentWidth = t.getPaint().measureText(s.substring(start, end));
但是,未在系统中注册的字符可能会有不同的结尾或根本没有结尾(例如中文或台湾)。
在verdana中使用的每个单独的字符中,与文本的实际结果相比,它会产生不同的间距。
如果有人发现我的逻辑有问题,请随意评论我。毕竟我只是努力提高。