Viber bot如何调整rich_media元素高度自适应按钮数量
Viber Bot rich_media 按钮高度适配方法
Viber rich_media 消息默认会预留固定行数的按钮展示区域,未被按钮占用的行数会直接显示为底部空白,没有直接关闭固定高度的配置项,可通过以下方式实现高度适配内容:
- 在
rich_media配置层级(和Type、Buttons字段同级)添加ButtonsGroupRows参数,直接指定整个富媒体按钮区域占用的总行数。 - 配置时保证所有按钮的
Rows属性值相加的总和,等于ButtonsGroupRows的设置值,即可完全消除底部空白。比如放置5个各占1行的按钮,直接将ButtonsGroupRows设为5即可。 - 该参数的合法取值范围为1-7,如果按钮总占行数超过7,无法在单个富媒体块内展示,需要拆分做多页轮播结构。
修改后的核心配置示例:
var reply = { type: "raw", method: "send_message", body: { receiver: $request.data.chatId, sender:{ name: "John McClane", avatar: "http://avatar.example.com" }, min_api_version: 2, type: "rich_media", rich_media: { Type: "rich_media", ButtonsGroupRows: 5, // 5个单高按钮对应总行为5,按需修改数值即可 Buttons: [ { Rows: 1, ActionBody: "Option 1", ActionType: "reply", Text: "Option 1" }, { Rows: 1, ActionBody: "Option 2", ActionType: "reply", Text: "Option 2" }, { Rows: 1, ActionBody: "Option 3", ActionType: "reply", Text: "Option 3" }, // 剩余按钮保持相同Rows配置即可 ] } } }
出现多余空白的原因:Viber rich_media 默认的
ButtonsGroupRows值为6,放置5个单高按钮时会剩余1行高度的空白区域,手动指定总占用行数即可解决。
内容的提问来源于stack exchange,提问作者user2976612
相关产品推荐
相关产品推荐

