Skip to main content
版本:v1.0

createWidget

控件显示级别

表盘有三种状态:息屏、正常显示、可编辑 为了简化Js逻辑,创建控件时可以设置控件显示级别,而不需要js来控制是否需要创建,减少判断和错误发生。 **key:show_level **

状态属性
正常显示hmUI.show_level.ONLY_NORMAL
息屏hmUI.show_level.ONAL_AOD
编辑hmUI.show_level.ONLY_EDIT

示例代码

必须在create的时候传入才管用

  const widget = hmUI.createWidget(hmUI.widget.IMG, {
x: 158,
y: 218,
w: 112,
h: 136,
alpha: 100,
src: "a.png",
//表示只在正常表盘和息屏下显示 在可编辑下会不创建 会返回一个虚拟控件 保证js不报错
show_level:hmUI.show_level.ONLY_NORMAL | hmUI.show_level.ONAL_AOD,
})

设置隐藏控件显示

widget.setProperty(hmUI.prop.VISIBLE,false); //false隐藏 true显示

设置控件是否可点击 有两种设置方案

  • createWidget的时候传入'enable'属性值
hmUI.createWidget(hmUI.widget.IMG, {
x: 158,
y: 218,
w: 112,
h: 136,
alpha: 100,
src: "a.png",
enable:false//false不接收点击事件
})
  • 调用控件函数setEnable()
widget.setEnable(true);//设置控件可点击

UI生命周期代理

目前数据的更新、timer的恢复都在固件内部完成,但部分表盘依赖UI的生命周期,所以新增了一个虚拟控件来感知生命周期。

  • 此控件不会绘制任何内容,仅做生命周期感知
  • 不需要js销毁,在js界面销毁时自动释放
回调固件内部操作触发时机
resume_call恢复所有数据监听 恢复timer表盘首次启动 其他界面回到表盘
pause_call暂停所有数据监听 暂停timer滑动到副屏、通知 控制中心 进入applist 从表盘进入其他应用

示例代码

const widgetDelegate = hmUI.createWidget(hmUI.widget.WIDGET_DELEGATE, {
resume_call: (function () {
console.log('ui resume');
}),
pause_call: (function () {
console.log('ui pause');
}),
})