九、卡片主题模式
不同的vivo手机系统版本,对卡片的显示样式(背景、圆角等)要求不一样,所以开发者须对卡片做好主题模式配置,以达到卡片一次开发,适配所有手机系统版本!
开发者接入主题模式时,不需自己写具体的值,需要按照要求填写对应的主题字段即可,卡片运行时系统会自动替换成对应的具体值。
支持以下主题配置字段:
字段 |
类型 |
说明 |
theme.backgroundColor |
String |
卡片背景颜色 |
theme.borderBottomRadius |
String |
卡片背景圆角 |
使用简例1:设置卡片圆角/背景主题样式

注意:
使用 less 后代码编译失败,因为theme.xxx 是Jovi卡片的保留字,less 不能识别,需要做转义:可写为 ~"theme.xxx",如下:

调试器上预览主题模式:
把主题样式配置存储到theme.txt的文件中,在卡片工程的src目录下新建params文件夹,并把theme.txt放到params目录,如下图示,打包卡片时主题文件theme.txt会被一起打包到rpk中,调试器加载卡片时,会读取src/params/theme.txt文件内容,并替换卡片中主题字段对应的值。
theme.txt配置示例:

十、折叠功能
卡片可以使用折叠功能,用户点击title区的切换按钮可以进行大卡片和小卡片的切换,当卡片缩小时,仅显示卡片的核心信息,当切换成大卡片时,可以显示卡片更多详细信息。

用户点击切换按钮时,会自动执行onFoldCard方法,开发者可以在这个方法中执行相应折叠的操作。折叠动画必须使用以下简例中的动画。
注意:
卡片需要设计成默认显示小卡片,只有用户点击后才能展开大卡片。
使用简例:

十一、卡片初始化参数
客户端App在加载卡片的时候,可以向卡片传递加载参数,初始化参数传递只在卡片加载时执行一次。卡片在onInit生命周期中能读取到客户端传进来的初始化参数;在调试环境中,以调试器代表真正的客户端。
1.模拟传递初始化参数
把传递的参数放到命名为params.txt的文件中,在卡片工程的src目录下新建params文件夹,并把params.txt放到params目录,如下图示,打包卡片时会把参数文件一起打包到rpk中,调试器加载卡片时,会读取src/params/params.txt文件内容,并传递给卡片。
模拟加载参数格式,“cardData”对应的值代表宿主传给卡片的数据:

2.卡片接收初始化参数

十二、卡片与宿主客户端App通信
卡片和宿主客户端可以利用system.hostconnection接口相互发送消息进行通信,发送消息只能在卡片onshow后才能发消息;在调试环境中,以调试器代表真正的客户端。
1.调试器模拟发送消息
把客户端要发送的消息放到命名为message.txt的文件中,在卡片工程的src目录下新建params文件夹,并把message.txt放到params目录,如下图示,打包卡片时会把参数文件一起打包到rpk中,调试器加载卡片时,会读取src/params/message.txt文件内容,调试器会自动显示发送消息的按钮,点击后调试器会把消息发送给卡片。
2. 卡片发送和接收消息
接口声明

导入模块

接口定义
字段 |
类型 |
说明 |
send |
Function |
卡片主动发送消息给宿主apk,具体数据协议需要卡片与宿主相互约定。注:发送消息不能在生命周期函数onInit/onReady中调用 |
registercallback |
Callback |
注册接收宿主发送消息的回调,当宿主发送消息时此回调可以收到消息。注册应尽早注册,可以在生命周期函数onInit中注册 |
发送消息:

注册接收消息:


评论列表