Java 我们是否可以知道,对于单行文本,文本在水平方向上是否超过了StaticLayout的边界,对于多行文本,文本在垂直方向上是否超过了StaticLayout的边界
我在imageview上绘制了一个静态布局,我必须编写单行和多行文本。问题是,如果输入单行文本时文本跨越水平边界,我必须限制用户,如果输入多行文本,我还必须垂直限制用户 我尝试比较了Java 我们是否可以知道,对于单行文本,文本在水平方向上是否超过了StaticLayout的边界,对于多行文本,文本在垂直方向上是否超过了StaticLayout的边界,java,android,staticlayout,textpaint,Java,Android,Staticlayout,Textpaint,我在imageview上绘制了一个静态布局,我必须编写单行和多行文本。问题是,如果输入单行文本时文本跨越水平边界,我必须限制用户,如果输入多行文本,我还必须垂直限制用户 我尝试比较了mTextLayout.getHeight()>(rect.height())rect是将绘制静态布局边界的区域的当前高度。但是getHeight()不适用于文档上的StaticLayout,但可以从Layout类中使用,该类给出错误的结果 因此,有没有办法知道何时在任何方向上到达StaticLayout边界。您可以
mTextLayout.getHeight()>(rect.height())
rect是将绘制静态布局边界的区域的当前高度。但是getHeight()不适用于文档上的StaticLayout,但可以从Layout类中使用,该类给出错误的结果
因此,有没有办法知道何时在任何方向上到达StaticLayout边界。您可以看看在我不确定
mTextLayout.getHeight()
如何返回错误的值中使用的算法。它是返回0还是真的返回200,应该返回300还是什么?@FurkanYurdakul我没有添加任何文本,然后我的条件返回true我的意思是布局本身可能有一个高度,你是用高度还是什么来定义它?没有文本并不意味着布局本身没有高度。也许它有上下填充,并且它返回它们的总值?是的,我是根据我提到的rect定义高度的。我通过重新创建静态布局并使用该条件来计算在静态布局中输入的每个文本的条件,但在我输入文本之前,仅在创建该静态布局时,高度大于实际rect。