【问题标题】:Prevent Android Wear Complication Tinting防止 Android Wear 并发症着色
【发布时间】:2018-01-22 13:25:21
【问题描述】:

我开始使用 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 助理徽标。

有谁知道我可以如何为我的并发症禁用着色?

【问题讨论】:

标签: java android wear-os android-wear-complication


【解决方案1】:

这里有两种不同的并发症类型:

  1. ICON - 图标应该是单色的,并且可能会被着色 表盘。

  2. SMALL_IMAGE - 不应着色的全彩色图像。

第二个屏幕截图中的 Google 助理复杂功能(很可能)是 SMALL_IMAGE 类型。确保您的并发症槽也支持 SMALL_IMAGE 类型。我的猜测是你目前只支持 ICON 类型。在 ComplicationDrawable 上调用 setIconColorActive() 不会着色 SMALL_IMAGE,只会着色 ICON。

支持这两种类型都很好,只要记住声明它们的顺序实际上很重要。

有关不同类型的更多详细信息,请参阅official documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-30
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多