在显示之前获取偷看卡的高度?

时间:2015-03-04 08:13:28

标签: android-layout wear-os watch-face-api

根据API文档,所有peek卡只会是#34;单行高#34;设置PEEK_MODE_SHORT时。所以这意味着每张peek卡都会占用特定设备的屏幕空间。

我计划在我的表盘上利用这一点,将最重要的信息放在保证不被卡片覆盖的区域(以及空间中可以覆盖的非关键信息)卡)。

问题是我不知道如何确定偷看卡需要多少空间,直到onPeekCardPositionUpdate()为时已晚,因为我希望布局的其余部分考虑到偷看的地方卡会去。

TL; DR - 关于如何在onPeekCardPosition()之前获取peek卡位置的任何想法被调用?

编辑: 我需要窥视卡高度的原因是因为我希望确保在显示偷看卡时完全覆盖某些内容。如下面的#1: dotted line is where the peek card would be

1 个答案:

答案 0 :(得分:3)

不,我们没有提供任何API来确定偷看卡的高度。您应该在收到通知时使用onPeekCardPositionUpdate()并调整表盘。

我知道您希望始终将您的内容放在窥视卡之上并完成它。但是,这不是一个好主意 - 你将在屏幕上浪费你可以使用的房地产。用户可能决定禁用偷看(有可用的选项),之后您将在屏幕底部留下空白区域。或者用户可能没有流中的卡片,在这种情况下,您将在底部留下空白区域。

这个回调是出于某种原因提供的,因此您可以在卡片偷看时以及不在卡片时动态调整您的表盘,并允许用户在任何一种情况下获得最佳体验。

编辑:

在您的具体情况下,我建议您这样做:在您的绘图代码中检查偷看卡的当前界限(getPeekCardPosition())。如果它们是(0-0,0-0),这意味着没有偷看卡,你可以绘制可选的内容。如果边界不同,请不要绘制它。应该就这么简单。您还希望在有关卡片边界的回调出现时触发重绘。