使用 Notification 的 BigTextStyle 时需要注意的地方
Android中使用Notification时,如果遇到contentText文本过长时,一行无法显示全的话,可以给notification设置一个style--BigTextStyle,让其contentText部分自动拓展多行显示,但是在使用的时候需要注意一些东西
先贴出Notification中使用BigTextStyle方法
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setSmallIcon(R.drawable.ic_weather_tip)
.setTicker(tickerText)
.setContentTitle(titleText)
.setContentText(contentText)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(yourLongText))
.setSound(alarmSound)
.setAutoCancel(true)
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(id, builder.build());
关于contentTitle
- 如果builder中设置
setContentTitle()
并且在BigTextStyle中也设置了setBigContentTitle()
,那么后者将会代替前者
关于contentText
在builder中设置是用setContentText()设置的
在BigTextStyle中设置是用bigText()设置的
有以下2种情况bigTextStyle.bigText()会失效:
- 如果builder中设置的内容不长,一行能显示的下时,BigTextStyle中设置了也没用
- 如果builder中设置的内容很长,但BigTextStyle中设置的不长(即一行能显示的下),那么后者仍失效,会照常显示builder中设置的内容(即后面显示不下带省略号)