我现在要动脑筋几天,我可以理解我所发现的任何信息。
我正在为Android Wear开发游戏用表盘。我有2类-表层的1种服务和1种扩展了WearableListenerService的类以获取手机电池。

我试图检测屏幕的形状,以便填充手表的相应背景-圆形或正方形。我已经尝试了所有找到的解决方案,但没有一个正在使用Service类。它们都需要Activity-包括WatchViewStub,onApplyWindowInsets。这些也需要布局,而我不需要,因为我没有真正的UI可以膨胀。此外,我正在根据手表屏幕尺寸调整位图大小。
我也尝试过ShapeWear类,但它似乎也不适合我。

是否有任何简单方便的方法将相应的背景应用于纯表盘的相应形状?
我不想使用配套的应用程序,因为我希望它保持简单和干净。

谢谢!

最佳答案

我认为您拥有的服务类是CanvasWatchFaceService。在这种情况下,只需重写onApplyWindowInsets方法即可,无论屏幕是圆形还是正方形,您都将获得信息。

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

08-26 07:15