我在Android中构建了一个绘图应用程序,我一直坚持这个;当Text
过大时,它会在Canvas
宽度之外绘制,现在已经解决了,但问题是当文本超出画布高度时,我该如何计算整个文字高度,如果它熄灭,移动它,以便它可以适应屏幕?
我已经尝试了两个画布,并在第二个画布上绘制,所以如果它出来我只使用canvas.translate(x,y),但仍然无效。
答案 0 :(得分:0)
Android API具有一组布局的类(包android.text),用于实现文本的呈现。
示例:
int maxWitdh; // mam witdh of text
StaticLayout layout = new StaticLayout(text, mPaint, maxWidth, Alignment.ALIGN_NORMAL, 1, 0, true);
int height = layout.getHeight();
layout.draw(canvas);
答案 1 :(得分:0)
想出来,使用StaticLayout,我得到了整个文本的高度,并将其与屏幕的高度进行了比较。
if (layoutHeight > height - coordinateY){
secondCanvas.translate(getCoordX(), height-layoutHeight);
}
现在它永远不会超出高度。