如何在 Android 佩戴并发症提供者的表盘上绘制图标?
How do I draw icons on a watch face from an Android wear complication provider?
使用 Complications API 有一个图标类型,但是当涉及到绘制图标时,我不知道该怎么做。
当我绘制实际的表盘时,似乎没有 drawIcon 方法。例如。类似于 canvas.drawIcon(图标)。我只能看到如何绘制位图。
在我的 drawComplications 方法中我有这个:
} else if (complicationData.getType() == ComplicationData.TYPE_ICON) {
Icon icon = complicationData.getIcon();
然后如何将图标绘制到canvas?
此处的代码实验室没有告诉我们如何绘制图标:https://codelabs.developers.google.com/codelabs/complications/index.html?index=..%2F..%2Findex#3
我可以改为只将所有可绘制对象复制到本地可穿戴模块,并通过传入字符串绕过图标类型,然后从那里绘制适当的位图。但必须有一种方法可以从图标中提取出来,否则为什么要这样做?
我也无法从谷歌搜索中找到如何将图标转换为位图,但这似乎也很愚蠢,因为我必须首先将位图转换为图标,因为 API 想要一个图标。
感谢任何帮助。
谢谢。
好吧,我不知道我是怎么错过这个的,但它就像
一样简单
Drawable drawable = icon.loadDrawable(getApplicationContext());
然后就做这个你可能已经知道的:
if (drawable instanceof BitmapDrawable) {
Bitmap bitmap;
bitmap = ((BitmapDrawable) drawable).getBitmap();
canvas.drawBitmap(bitmap, complicationsX, mTopComplicationY, null);
}
我在看这里
然后看到它并想知道为什么我没有尝试过。
编辑 回应评论:如果您想使用 VectorDrawable,则根据需要进行调整。
使用 Complications API 有一个图标类型,但是当涉及到绘制图标时,我不知道该怎么做。
当我绘制实际的表盘时,似乎没有 drawIcon 方法。例如。类似于 canvas.drawIcon(图标)。我只能看到如何绘制位图。
在我的 drawComplications 方法中我有这个:
} else if (complicationData.getType() == ComplicationData.TYPE_ICON) {
Icon icon = complicationData.getIcon();
然后如何将图标绘制到canvas?
此处的代码实验室没有告诉我们如何绘制图标:https://codelabs.developers.google.com/codelabs/complications/index.html?index=..%2F..%2Findex#3
我可以改为只将所有可绘制对象复制到本地可穿戴模块,并通过传入字符串绕过图标类型,然后从那里绘制适当的位图。但必须有一种方法可以从图标中提取出来,否则为什么要这样做?
我也无法从谷歌搜索中找到如何将图标转换为位图,但这似乎也很愚蠢,因为我必须首先将位图转换为图标,因为 API 想要一个图标。
感谢任何帮助。
谢谢。
好吧,我不知道我是怎么错过这个的,但它就像
一样简单Drawable drawable = icon.loadDrawable(getApplicationContext());
然后就做这个你可能已经知道的:
if (drawable instanceof BitmapDrawable) {
Bitmap bitmap;
bitmap = ((BitmapDrawable) drawable).getBitmap();
canvas.drawBitmap(bitmap, complicationsX, mTopComplicationY, null);
}
我在看这里
然后看到它并想知道为什么我没有尝试过。
编辑 回应评论:如果您想使用 VectorDrawable,则根据需要进行调整。