在CanvasWatchFaceService.Engine中不调用onApplyWindowInsets

时间:2015-02-05 15:07:05

标签: wear-os watch-face-api

我正在使用 CanvasWatchFaceService.Engine

开发表盘

我需要检测手表是圆形还是方形。

我覆盖了 onApplyWindowInsets ,但没有调用它。

我应该设置一个特定的监听器或类似的东西吗?

2 个答案:

答案 0 :(得分:2)

根据我的经验,onApplywindowInsets仅在您使用Theme.DeviceDefault或从中降序的主题时被调用。如果您使用的是完全自定义的主题,则不会调用它。

因此,在您的表情清单中,您的application标记需要看起来像这样:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.DeviceDefault" >

或者,如果您有表盘服务的主题,那将覆盖它。

答案 1 :(得分:0)

根据我的经验,除非android:

,否则不调用onApplyWindowInsets

isScrollContainer = "true"

设置为布局中的任何视图。