我开始使用Google's Sample app作为参考开发Android Wear表盘。我正在遇到一个问题,我不想要对我的并发症进行颜色着色。具体来说,谷歌助手并发症。但是,无论我做什么,谷歌助理并发症都会出现某种颜色着色。
在查看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智能助理徽标。
有谁知道如何禁用我的并发症的颜色着色?
答案 0 :(得分:0)
这里有两种不同的并发症类型:
图标 - 图标应为单色,可以着色 表盘。
SMALL_IMAGE - 不应着色的全彩色图像。
第二个屏幕截图中的Google Assistant复杂功能(很可能)是SMALL_IMAGE类型。确保您的并发症插槽也支持SMALL_IMAGE类型。我的猜测是你目前只支持ICON类型。在setIconColorActive()
上拨打ComplicationDrawable
不会为SMALL_IMAGE着色,只会使用ICON。
支持这两种类型完全没问题,只要记住你声明它们的顺序实际上很重要。
有关不同类型的更多详细信息,请参阅official documentation。