0

我注意到天气时间线(例如)在窥视和环境中显示带有两条线的通知。我想根据我的要求复制它,但我无法这样做。我试过 InboxStyle 和 BigTextStyle 无济于事。图标位置也不同,可以显示更多的标题。

这可能以某种方式实现,还是因为天气时间线是一个“穿戴应用程序”?

wear_notify

        NotificationCompat.Builder notificationBuilder =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle("TestTitle")
                    .setContentText("TestContextTextLoremIpsum");
4

1 回答 1

0

通知卡可能会覆盖屏幕的很大一部分,具体取决于系统 UI 样式。您的表盘应适应这些情况,确保用户在通知卡存在时仍能分辨时间。

您需要确定窥视卡上方的可用空间,以便调整您的表盘,使用WatchFaceService.Engine.getPeekCardPosition()方法。当它在底部窥视并允许表盘暴露时,这提供了它的位置。

表盘不应干扰系统 UI 元素,如适应系统 UI 元素中所述。如果您的表盘背景较浅或在屏幕底部附近显示信息,您可能需要配置通知卡的大小或启用背景保护。

@Override
public void onCreate(SurfaceHolder holder) {
super.onCreate(holder);

// configure the system UI
setWatchFaceStyle(new WatchFaceStyle.Builder(AnalogWatchFaceService.this)
.setCardPeekMode(WatchFaceStyle.PEEK_MODE_SHORT)
.setBackgroundVisibility(WatchFaceStyle
.BACKGROUND_VISIBILITY_INTERRUPTIVE)
.setShowSystemUiTime(false)
.build());
...
}

上面的代码片段将窥视卡配置为单行高,窥视卡的背景仅短暂显示且仅用于中断通知,并且不显示系统时间。

于 2016-07-25T23:12:44.500 回答