![](/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.