0

与 Android Wear 方形设备配对时,我的通知会正确显示 - 它们只是发送到设备(手表)以自动显示以保持代码简单。但是,它们位于 Wear 圆形手表的默认屏幕中心,并且圆形屏幕通知的一角实际上缺少一些通知信息。

BigTextStyle myStyle = new Notification.BigTextStyle();
.bigText(myText);

Notification.Builder notificationBuilder =
    new Notification.Builder(this)
    .setStyle(myStyle)
     // and so on

但是,可能会在某处添加以下几行代码(及其类导入):

  Notification.WearableExtender myextend = new Notification.WearableExtender();
.WearableExtender()

.setGravity(Gravity.TOP);

// add other code
.extend(myextend)
4

1 回答 1

1

根据此文档,由于某些 Android Wear 设备具有方形屏幕,而其他设备具有圆形屏幕,因此您的表盘应适应并利用屏幕的特定形状,如设计指南中所述。

Android Wear 可让您的表盘在运行时确定屏幕形状。要检测屏幕是方形还是圆形,重写类中的onApplyWindowInsets()方法CanvasWatchFaceService.Engine如下:

private class Engine extends CanvasWatchFaceService.Engine {
boolean mIsRound;
int mChinSize;

@Override
public void onApplyWindowInsets(WindowInsets insets) {
super.onApplyWindowInsets(insets);
mIsRound = insets.isRound();
mChinSize = insets.getSystemWindowInsetBottom();
}
...
}

具有圆形屏幕的设备可以在屏幕底部包含一个插图(或“下巴”)。要在绘制表盘时调整您的设计,请检查mIsRoundmChinSize成员变量的值。

以下是一些可能有帮助的相关主题:

于 2016-10-21T09:09:19.827 回答