据我所知,Android Wear 中设置通知背景图片有两种方式。值得一提的是,它们都以以下代码为开头:
这个方法是可行的,但据我所知,无论位图大小如何,
方法二:
这将清除位图,但不幸的是会在可穿戴设备上插入一个额外的“页面”,该页面除了位图外是空白的。我想这里的想法是要向用户展示图像 - 但我不是,我只想要一个非模糊的背景。
有没有办法实现这个目标?
Bitmap bitmap;
Notification.Builder bob = new Notification.Builder(this)
.setContentTitle(title)
假设您已经设置好了通知,包括以下步骤。同时,假设bitmap
已经初始化为适当大小的图像(虽然这是另一个问题)。
方法一:
bob.setLargeIcon(bitmap);
这个方法是可行的,但据我所知,无论位图大小如何,
bitmap
在通知背景中总是模糊的。方法二:
bob.setStyle(new Notification.BigPictureStyle().bigPicture(bitmap));
这将清除位图,但不幸的是会在可穿戴设备上插入一个额外的“页面”,该页面除了位图外是空白的。我想这里的想法是要向用户展示图像 - 但我不是,我只想要一个非模糊的背景。
有没有办法实现这个目标?
setLargeIcon()
,似乎会禁用它...但是您可以通过调用WearableExtender.setContentIcon()
来获得等效的功能。 - SterlingsetBackground()
会替换Wearable上“模糊”的setLargeIcon()
背景。因此,如果您的setLargeIcon()
是某个联系人图像或其他类似图像-只需使用setBackground
,无需添加任何内容。但是,如果您有一些描述您内容的信息图标-可以在setContentIcon
中添加它:)奖励:如果您想使Android Wear上的通知可点击,则可以为其分配操作。WearableExtender
上的setContentAction(int)
方法将给定操作“合并”到卡片中+此操作的图标将显示在contentIcon的位置。 - Maciej CiemięgasetBackground()
仍然有点模糊,但比之前好一些了。如果图片的大小超过 400x400,它会被裁剪成正方形并缩小到该尺寸,然后被拉伸以使其在屏幕两侧各延伸出屏幕大小的 20%。这种计算方式意味着对于屏幕大于 285x285 的手表,背景图片会变得模糊。 - Karu