2014-08-27 88 views

回答

0

你也许可以做这样的事情:

int length = (tv.getText() == null) ? 0 : tv.getText().length(); 
int width = tv.getWidth()-tv.getPaddingLeft()-tv.getPaddingRight(); 

if (tv.getTextSize() * length > width) { 
    Log.e("TAG", "Ellipsize: TRUE"); 
} else { 
    Log.e("TAG", "Ellipsize: FALSE"); 
} 

注:

  • 请测试它自己,它只是从我的头上:)
  • 一定要做到顶部一旦TextView被绘制完成。

编辑:

我发现hasOverlappingRendering()相当漂亮,可以使用本方法。

如果文本不适合TextView,则返回true,但仅适用于API 16+

+0

这看起来不错,只有当我知道如何从通知对象中获取TextView ... – anavarroma 2014-08-27 10:05:33