告诉我们contentText是否会被泛化

时间:2014-08-27 09:53:02

标签: android notifications push-notification

为了决定是否使用Android通知的BitTextStyle,我想知道是否有办法判断操作系统是否会对通知的contentText进行椭圆化(因为太长)

1 个答案:

答案 0 :(得分: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 +