Android 告诉contentText是否将被省略

Android 告诉contentText是否将被省略,android,notifications,push-notification,Android,Notifications,Push Notification,为了决定是否使用Android通知的BitExtStyle,我想知道是否有办法判断操作系统是否将省略通知的contentText,因为它太长了。您可能可以这样做: int length = (tv.getText() == null) ? 0 : tv.getText().length(); int width = tv.getWidth()-tv.getPaddingLeft()-tv.getPaddingRight(); if (tv.getTextSize() * length >

为了决定是否使用Android通知的BitExtStyle,我想知道是否有办法判断操作系统是否将省略通知的contentText,因为它太长了。

您可能可以这样做:

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+。

这看起来不错,前提是我知道如何从通知对象中获取TextView。。。