我在代码中使用以下代码段来检查字符串是否足够小以适应textview。
private int findLengthThatFits (TextView view, String text) {
float textWidth = view.getPaint().measureText(text);
if (textWidth >= view.getMeasuredWidth ()){
//do somethings
}
//other stuff
}
但view.getMeasuredWidth ()
不断返回0.0
。有谁知道我怎么解决这个问题?我使用How to find android TextView number of characters per line?作为参考。
答案 0 :(得分:0)
前一阵子我遇到了同样的问题。在我的情况下,我试图计算textview采取的行数。问题是view.getMeasuredWidth()等方法只能在textview上调用requestLayout()之后使用。为解决此问题,使用viewtreeobserver确保仅在适当的时间调用方法。我不想使用它,所以我在这篇文章中使用了Ellipsizing Textview。它就像一个魅力,并且还有一个界面来了解所提供的文本是否已经过化。