本文介绍如何在小程序弹出菜单上扩展自定义选项并响应用户点击事件。
mp_ta_showOptionMenu
配置已开启,详情参考 容器配置。TinyPopMenuItem.Builder
类创建 TinyPopMenuItem
对象。onClick
方法的第二个参数携带小程序的 appId 以及弹出菜单所在小程序页面的具体路径。TinyPopMenuProvider
实例对象设置到容器。
H5Utils.setProvider(TinyPopMenuProvider.class.getName(), new TinyPopMenuProvider() {
@Override
public List<TinyPopMenuItem> fetchMenuItems(String appId) {
List<TinyPopMenuItem> items = new ArrayList<>();
TinyPopMenuItem urlItem = new TinyPopMenuItem.Builder()
.setId("1000")
.setIconUrl("https://gw-office.alipayobjects.com/basement_prod/3d46378a-6e4f-4aa1-820e-fd16da76b457.png")
.setName("关于")
.setCallback(new TinyPopMenuItem.TinyPopMenuItemClickListener() {
@Override
public void onClick(Context context, Bundle bundle) {
String appId = bundle.getString("appId");
String path = bundle.getString("page");
Toast.makeText(context, "应用ID=" + appId + ",页面=" + path, Toast.LENGTH_LONG).show();
}
})
.build();
items.add(urlItem);
TinyPopMenuItem localItem = new TinyPopMenuItem.Builder()
.setId("1001")
.setIcon(getResources().getDrawable(R.drawable.smile))
.setName("启动")
.setCallback(new TinyPopMenuItem.TinyPopMenuItemClickListener() {
@Override
public void onClick(Context context, Bundle bundle) {
Toast.makeText(context, "启动" + bundle.toString(), Toast.LENGTH_LONG).show();
}
})
.build();
items.add(localItem);
return items;
}
});
在文档使用中是否遇到以下问题
更多建议
匿名提交