简介
服务卡片框架提供了FormExtensionAbility基类,通过继承此基类,实现调用服务卡片的生命周期函数,来实现具体卡片的功能。
开放了属性动画和显式动画,增加了自定义绘制的能力,可以使用Canvas画布组件自定义绘制和构建更多样的显示和交互效果。允许卡片中运行逻辑代码,业务逻辑可以在卡片内部自闭环。
不支持功能
- 不支持导入共享包。
- 不支持native语言,仅支持声明式范式的部分组件、事件、动效、数据管理、状态管理和API能力。
- 暂不支持极速预览。
- 暂不支持setTimeOut。
工程目录
新建流程
选择静态服务窗口
选择项目模板
设置卡片名称、简介、模块大小等
根据选择的样板,自动添加卡片项目相关文件
默认的预览视图
卡片事件(静态卡片)
需要使用FromLink容器来实现服务卡片和App之间的交互,支持router、message和call三种类型的事件。
参数名 | 参数类型 | 必填 | 参数描述 |
action | string | 是 | action的类型,支持三种预定义的类型:- router:跳转到提供方应用的指定UIAbility。- message:自定义消息,触发后会调用提供方FormExtensionAbility的onFormEvent()生命周期回调。- call:后台启动提供方应用。触发后会拉起提供方应用的指定UIAbility(仅支持launchType为singleton的UIAbility,即启动模式为单实例的UIAbility),但不会调度到前台。提供方应用需要具备后台运行权限(ohos.permission.KEEP_BACKGROUND_RUNNING)。**说明:**不推荐使用router事件刷新卡片UI。 |
moduleName | string | 否 | action为router / call 类型时跳转的模块名。 |
bundleName | string | 否 | action为router / call 类型时跳转的包名。 |
abilityName | string | 否 | action为router / call 类型时跳转的UIAbility名。 |
uri | string | 否 | action为router 类型时跳转的UIAbility的统一资源标识符。uri和abilityName同时存在时,abilityName优先。 |
params | Object | 否 | 当前action携带的额外参数,内容使用JSON格式的键值对形式。call 类型时需填入参数'method',且类型需要为string类型,用于触发UIAbility中对应的方法。**说明:**不推荐通过params传递卡片内部的状态变量。 |
案例代码
实现效果
项目架构
DateUtil.ets
Ticket_WidgetCard.ets
TicketShow_view.ets
TicketShow_ViewModel.ets
注意
里面的图片是需要自己去下载的,暂未实现数据和程序联动