![](/img/trans.png)
[英]Initialise specific complication without user input - android wear api
[英]Prevent Android Wear Complication Tinting
我开始使用Google的示例应用作为参考来开发Android Wear表盘。 我到一个问题,我不希望在我的并发症颜色着色运行英寸 具体来说,谷歌助手的并发症。 但是,无论我做什么,Google Assistant并发症都会以某种类型的颜色出现。
查看Google的代码时,我只能找到对颜色进行着色的单一参考:
private void setComplicationsActiveAndAmbientColors(int primaryComplicationColor) {
int complicationId;
ComplicationDrawable complicationDrawable;
for (int i = 0; i < COMPLICATION_IDS.length; i++) {
complicationId = COMPLICATION_IDS[i];
complicationDrawable = mComplicationDrawableSparseArray.get(complicationId);
if (complicationId == BACKGROUND_COMPLICATION_ID) {
// It helps for the background color to be black in case the image used for the
// watch face's background takes some time to load.
complicationDrawable.setBackgroundColorActive(Color.BLACK);
} else {
// Active mode colors.
complicationDrawable.setBorderColorActive(primaryComplicationColor);
complicationDrawable.setRangedValuePrimaryColorActive(primaryComplicationColor);
// Ambient mode colors.
Log.d("TAG Type", "Failed at complication " + i);
complicationDrawable.setIconColorActive(Color.WHITE);
complicationDrawable.setBorderColorAmbient(Color.WHITE);
complicationDrawable.setRangedValuePrimaryColorAmbient(Color.WHITE);
}
}
}
当我注释掉
complicationDrawable.setIconColorActive(Color.WHITE);
颜色仍为白色。 如果我取消注释并将其值更改为Color.BLUE之类的图标,则该图标将显示为蓝色。
我知道可以禁用复杂着色,因为我的Fossil表面之一以我希望的方式显示Google Assistant徽标。
有谁知道我如何为我的并发症禁用色彩?
这里有两种不同的并发症类型:
图标-图标应该是单色的,并且可能在表盘上带有颜色。
SMALL_IMAGE-不应着色的全彩色图像。
第二个屏幕快照中的Google Assistant并发症(很可能是)类型为SMALL_IMAGE。 确保您的复杂插槽也支持SMALL_IMAGE类型。 我的猜测是您当前仅支持ICON类型。 在ComplicationDrawable
上调用setIconColorActive()
不会着色SMALL_IMAGE,而只会着色ICON。
支持这两种类型都很好,只是要记住,实际上声明它们的顺序很重要。
有关不同类型的更多详细信息,请参见官方文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.