我正在为Android佩戴创建一个表盘,我想根据卡片是否显示来更改布局。我相信谷歌会在官方的表面API中公开这个,但在那之前有什么方法可以破解它吗?
我已经尝试在手机上创建一个通知监听器,但是如果通知是localOnly或者没有通知我似乎无法访问,所以我不知道手表上会显示什么。
我已经尝试在手表上迭代视图层次结构,但它没有向我展示任何有用的东西。有没有办法通过反射访问窗口中的内容视图?
任何帮助都会受到赞赏,我不得不等待谷歌发布他们的API。
答案 0 :(得分:0)
是的,这是可能的。 我使用了onPeekCardPositionUpdate方法,该方法将矩形设置为卡的边界。 如果没有显示窥视卡,则矩形的顶部将为0 每当卡的高度发生变化时,都会调用该方法。 以下卡片将写出布尔值yesACardIsShowing中显示的卡片状态。
@Override
// Rect -> none
public void onPeekCardPositionUpdate(Rect bounds) {
super.onPeekCardPositionUpdate(bounds);
if (!bounds.equals(mCardBounds)) {
mCardBounds.set(bounds);
yesACardIsShowing = bounds.top != 0
}
}