gpt4 book ai didi

android 在通知中嵌入换行符

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:00:52 25 4
gpt4 key购买 nike

我需要在通知中嵌入换行符。我有两行不同的数据,我需要嵌入一个换行符来区分这两者。我使用了反斜杠-n,但这不起作用。

有办法吗?

最佳答案

您不需要使用 RemoteViews 或自定义布局来显示多行,尽管其他人在这里已经说过了!多行文本是可能的,但只有当通知被展开时。

为此,您可以使用 NotificationCompat.BigTextStyle .如果您阅读开发指南 here然后你会注意到他们提到了这个提示:

Tip: To add formatting in your text (bold, italic, line breaks, and so on), you can add styling with HTML markup.

所以,换句话说:

val title = "My Title"
val body = "Line 1<br>Line 2<br><i>Italic Line 3</i>"
val formattedBody = SpannableString(
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) Html.fromHtml(body)
else Html.fromHtml(body, Html.FROM_HTML_MODE_LEGACY)
)

NotificationCompat.Builder(context, channelId)
.setColor(ContextCompat.getColor(context, R.color.colorPrimary))
.setContentTitle(title)
.setContentText(formattedBody)
.setStyle(NotificationCompat.BigTextStyle().bigText(formattedBody).setBigContentTitle(title))
.setSmallIcon(R.drawable.ic_small_notification_icon)
.build()

有关其工作原理的注意事项:

  1. 标题可以没有格式(即不要在这里尝试使用 HTML)
  2. 正文可以有任意多的格式,但我们必须注意,折叠通知时不会显示换行符。所有其他 HTML 格式在折叠/展开状态下都可以正常工作。您可以根据需要加粗、斜体等(我认为)

如果您不想在推送通知中发送 HTML 格式,那么另一种选择是使用某种降​​价格式,并在您使用 SpannableStringBuilder 构建通知之前手动处理它。

关于android 在通知中嵌入换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9387859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com