我正在处理从GitHub仓库加载的pebble.js
项目。我本质上是在本地编写代码,推送到GitHub,然后进入CloudPebble进行构建,因为我的计算机不适合运行SDK。 CloudPebble正确地看到我的图像资源,但我无法弄清楚如何引用它。最初,在将子路径移动到resources
文件夹之前,它无法找到图像。这允许正确导入,但每次我引用我的图像时,我都会在应用程序日志中找到它:
JavaScript Error:
send@[native code]
at load (ui/windowstack.js:2654:22)
at load (lib/image.js:165:11)
at load (ui/imageservice.js:85:16)
at resolve (ui/imageservice.js:109:60)
at ImageType (ui/simply-pebble.js:41:32)
at lib/struct.js:161:32
at menuItem (ui/simply-pebble.js:814:10)
at _resolveItem (ui/menu.js:161:30)
at _preloadItems (ui/menu.js:170:22)
at _resolveSection (ui/menu.js:151:25)
at section (ui/menu.js:239:23)
at updateActivityMenu (app.js:44:18)
at app.js:167:21
at onreadystatechange (lib/ajax.js:109:17)
以下是我的项目结构示例:
/project/resources/images/some_image.png
/project/src/app.js
/project/appinfo.json
这是appinfo.js
"media": [
{
"file": "images/some_image.png",
"name": "MY_IMAGE",
"type": "png"
}
]
最后来自app.js
var item = {
title: data.Response.data.activity.activityName,
subtitle: data.Response.data.activity.activityDescription,
icon: 'MY_IMAGE'
};
我也尝试直接引用icon
属性的图像路径,但图像从不显示,我得到相同的JavaScript Error
。我可以在构建日志中看到正确添加的图像:
[ 6/29] some_image.png.pbi: resources/images/some_image.png ../../app/sdk2/Pebble/tools/bitmapgen.py -> build/resources/images/some_image.png.pbi
此时我不知所措 - 任何帮助都会非常感激。
答案 0 :(得分:1)
尝试使用图片路径而不是资源ID:
var item = {
title: data.Response.data.activity.activityName,
subtitle: data.Response.data.activity.activityDescription,
icon: 'images/some_image.png'
};
pebble.js
文档suggests that this is the proper approach for internal menus:
var menu = new UI.Menu({ sections: [{ title: 'First section', items: [{ title: 'First Item', subtitle: 'Some subtitle', icon: 'images/item_icon.png' }, { title: 'Second item' }] }] });
答案 1 :(得分:0)
Pebble SDK 2或3?在3之前,图像资源必须从PNG预转换为PBI。 Pebble的image docs详细介绍了原始(又名Aplite)和时间(又名玄武岩)鹅卵石支持的格式。