如何在我的表盘上绘制复杂功能槽?
How can I draw a complication slot on my watch face?
我正在开发自己的 Android 表盘,到目前为止一切正常。现在,我尝试创建我的第一个复杂功能以显示秒数。我知道我需要为这种复杂情况创建自己的数据提供者。我已经在 YouTube 上看过一些视频并阅读了一些文档。我的问题是:
- 如何创建要显示在我的 what face 上的复杂功能插槽?
- 如何设置它在表盘上的位置?
- 我必须为此创建一个 activity 吗?
How can I create a complication slot to be displayed on my what face?
最简单的方法是使用 ComplicaitonDrawable。它将为您处理显示内容(倾斜、文本、图标等)的所有逻辑。它也可以设计成与您的表盘融为一体。确保在您的表盘收到回调时用复杂数据填充它:
@Override
public void onComplicationDataUpdate(int id, ComplicationData data) {
mComplicationDrawable.setComplicationData(data);
}
How can I set its position on the watch face?
ComplicationDrawable
可以很容易地画在canvas上的任何地方:
mComplicationDrawable.setBounds(myComplicationBounds);
mComplicationDrawable.draw(canvas, currentTimeMillis);
Will I have to create an activity for that?
您不需要 activity 来设置复杂槽的位置(除非您希望用户能够 select/change 该位置)。
您确实需要一个设置 activity 让用户 select 成为您的复杂槽的数据提供者。 Google 非常友好地提供了一个示例表盘,其中显示了执行此操作的推荐方法。它在 GitHub.
上可用
我正在开发自己的 Android 表盘,到目前为止一切正常。现在,我尝试创建我的第一个复杂功能以显示秒数。我知道我需要为这种复杂情况创建自己的数据提供者。我已经在 YouTube 上看过一些视频并阅读了一些文档。我的问题是:
- 如何创建要显示在我的 what face 上的复杂功能插槽?
- 如何设置它在表盘上的位置?
- 我必须为此创建一个 activity 吗?
How can I create a complication slot to be displayed on my what face?
最简单的方法是使用 ComplicaitonDrawable。它将为您处理显示内容(倾斜、文本、图标等)的所有逻辑。它也可以设计成与您的表盘融为一体。确保在您的表盘收到回调时用复杂数据填充它:
@Override
public void onComplicationDataUpdate(int id, ComplicationData data) {
mComplicationDrawable.setComplicationData(data);
}
How can I set its position on the watch face?
ComplicationDrawable
可以很容易地画在canvas上的任何地方:
mComplicationDrawable.setBounds(myComplicationBounds);
mComplicationDrawable.draw(canvas, currentTimeMillis);
Will I have to create an activity for that?
您不需要 activity 来设置复杂槽的位置(除非您希望用户能够 select/change 该位置)。
您确实需要一个设置 activity 让用户 select 成为您的复杂槽的数据提供者。 Google 非常友好地提供了一个示例表盘,其中显示了执行此操作的推荐方法。它在 GitHub.
上可用