tencent cloud

腾讯云超级应用服务

胶囊按钮事件监听

Download
聚焦模式
字号
最后更新时间: 2026-04-30 15:44:33
胶囊按钮事件监听包括关闭、更多按钮的事件监听,以及更多展示列表的定制。

关闭

定制胶囊按钮的关闭事件监听,能够让 superapp 在关闭按钮点击时获取到对应的回调事件。
关闭按钮示意图:
API 说明:onCapsuleButtonCloseClick 方法返回值表示是否自定义关闭按钮监听,返回值为 true 表示自定义,false(默认值)表示使用默认监听。
/**
* 点击胶囊按钮的关闭选项
* 调用环境:子进程
*
* @param miniAppContext 小程序运行环境(小程序进程,非主进程)
* @param onCloseClickedListener 点击小程序关闭时回调
* @return 不支持该接口,请返回false
*/
public abstract boolean onCapsuleButtonCloseClick(IMiniAppContext miniAppContext,
DialogInterface.OnClickListener onCloseClickedListener);
示例代码:
@Override
public boolean onCapsuleButtonCloseClick(IMiniAppContext miniAppContext,
DialogInterface.OnClickListener onCloseClickedListener) {
Log.e("TAG","onCapsuleButtonCloseClick"+miniAppContext.getMiniAppInfo());
//handle close mini app event
return true;
}

更多

定制更多按钮的事件监听,能够让 superapp 在点击更多按钮点击时监听到对应回调事件。
更多按钮示意图:
API 说明:onCapsuleButtonMoreClick 方法返回值表示是否自定义更多按钮监听,返回值为 true 表示自定义,false(默认值)表示使用默认监听。
/**
* 点击胶囊按钮的更多选项
*
* @param miniAppContext 小程序运行环境
* @return 不支持该接口,请返回false
*/
public abstract boolean onCapsuleButtonMoreClick(IMiniAppContext miniAppContext);
示例代码:
@Override
public boolean onCapsuleButtonMoreClick(IMiniAppContext miniAppContext) {
// 弹出自定义更多面板
return true;
}

更多展示列表定义

当用户触发更多按钮点击事件时,会弹出如下的可选扩展按钮列表,默认列表示意图如下:
通过重写 MiniAppProxy 的 getMoreItems 方法,可以实现定制更多菜单扩展按钮列表。
API 说明:
getMoreItems 方法返回值表示定制的扩展按钮列表;
方法参数 MoreItemList.Builder 用于添加扩展按钮,扩展按钮的展示顺序和添加顺序一致;
MoreItem 的 id 属性用于区分按钮,需要具备唯一性。
/**
* 返回胶囊更多面板的按钮,扩展按钮的ID需要设置为[100, 200]这个区间中的值,否则,添加无效
* 调用环境:子进程
*
* @param builder
* @return
*/
public abstract ArrayList<MoreItem> getMoreItems(MoreItemList.Builder builder);
警告:
扩展按钮的 ID 需要设置为[100, 200]这个区间中的值,否则,添加无效。
示例代码:
@Override
public ArrayList<MoreItem> getMoreItems(IMiniAppContext miniAppContext, MoreItemList.Builder builder) {
MoreItem item1 = new MoreItem();
// 设置菜单id(必须),扩展按钮的ID需要设置为[100, 200]这个区间中的值,否则,添加无效。
item1.id = ShareProxyImpl.OTHER_MORE_ITEM_1;
// 设置菜单标题(可选)
item1.text = getString(miniAppContext, R.string.applet_mini_proxy_impl_other1);
// 设置菜单图标(可选)
item1.drawable = R.mipmap.mini_demo_about;
// 设置无障碍描述(可选), 默认是菜单标题
item2.contentDescription = "菜单无障碍描述";
// 监听点击事件
item2.onClickListener = new MoreItem.MoreItemClickListener() {
@Override
public void onClick(IMiniAppContext context, MoreItem item) {
// 处理点击事件
}
};

// 自行调整顺序。
builder.addMoreItem(item1)
// 根据需求添加内置菜单项
.addRestart(getString(miniAppContext, R.string.applet_mini_proxy_impl_restart),
R.mipmap.mini_demo_restart_miniapp)
// 根据需求添加内置菜单项
.addAbout(getString(miniAppContext, R.string.applet_mini_proxy_impl_about),
R.mipmap.mini_demo_about)
// 根据需求添加内置菜单项
.addSetting(getString(miniAppContext, R.string.mini_sdk_more_item_setting_0),
R.drawable.mini_sdk_setting,
//设置无障碍描述(可选), 默认是菜单标题
"小程序设置");
return builder.build();
}

private String getString(IMiniAppContext miniAppContext, int id) {
return miniAppContext.getContext().getString(id);
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈