Android Wear 表盘 StatusBar Gravity Bottom 不受尊重

标签 android wear-os watch-face-api android-wear-2.0 watchface

我正在为 Android Wear 制作一个表盘。我想将状态栏放在底部而不是顶部。

文档说明要使用 WatchFaceStyle.BuildersetStatusBarGravity() 方法:https://developer.android.com/reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setStatusBarGravity(int)

但是,这似乎并没有按预期工作。每当我使用 Gravity.BOTTOM 时,图标都会在表盘内垂直居中,而不是位于底部。

这是我使用的代码:

setWatchFaceStyle(new WatchFaceStyle.Builder(Watchface.this)
                .setShowUnreadCountIndicator(true)
                .setStatusBarGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM)
                .setAcceptsTapEvents(true)
                .build());

结果是这样(注意中间的充电指示器)

img

我做错了什么?我用谷歌搜索并进行了搜索,但找不到任何相关信息。

最佳答案

恐怕您看到的是 Gravity.BOTTOM 位置。状态栏图标的位置非常通用,底部对齐略低于实际垂直中心,而 Gravity.CENTER_VERTICAL 大约是屏幕的三分之一。

这是三个重力值的图标位置的分割:

Gravity values for Wear OS

请记住,圆形屏幕不考虑水平重力值。

我知道这很令人沮丧,但恐怕就是这样。我建议在 b.android.com 上提交问题以更改此行为。

关于Android Wear 表盘 StatusBar Gravity Bottom 不受尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44119641/

相关文章:

android - 无法在 wearos 蓝牙上发送 HTTP 请求

android - 如何运行 Android Sample Watch Face?

java - 安卓穿戴: Lock into watch face

javascript - Tizen SDK 上的 Gear S2 中具有附加样式的表盘

android - IInAppbillingService 不生成 java,serviceIntent 为空

android - 如何从 Activity 中停止 START_STICKY android 服务

Android Wear 应用在​​商店中不可见(内部测试轨道)

android - 内存不足错误: no stack available

android - MessageAPI android Wear,可以给穿戴式设备发送消息,但穿戴式设备不能回传消息

android - Android Wear 上的通知时间