为了决定是否使用Android通知的BitTextStyle,我想知道是否有办法判断操作系统是否会对通知的contentText进行椭圆化(因为太长)
答案 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");
}
注意:
修改强>
我发现方法hasOverlappingRendering()
对此很有效。
如果文本不适合TextView,则返回true,但仅适用于 API 16 + 。