在Android开发中,通过代码创建子菜单可以使用以下步骤:
res/menu
文件夹下创建一个新的菜单资源文件,例如sub_menu.xml
。<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/sub_menu_item_1"
android:title="子菜单项1" />
<item
android:id="@+id/sub_menu_item_2"
android:title="子菜单项2" />
</menu><menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_item_with_submenu"
android:title="主菜单项"
app:actionLayout="@layout/sub_menu" />
</menu>MenuItem menuItemWithSubmenu = menu.findItem(R.id.menu_item_with_submenu);
View actionView = menuItemWithSubmenu.getActionView();
PopupMenu popupMenu = new PopupMenu(this, actionView);
popupMenu.inflate(R.menu.sub_menu);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.sub_menu_item_1:
// 处理子菜单项1的点击事件
break;
case R.id.sub_menu_item_2:
// 处理子菜单项2的点击事件
break;
}
return true;
}
});
menuItemWithSubmenu.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
popupMenu.show();
}
return true;
}
});这样,在主菜单项上点击时,就会显示子菜单。用户可以从子菜单中选择一个选项,并触发相应的事件。sub_menu.xml
文件中,定义子菜单项。例如:android:actionLayout
属性为子菜单的布局。例如:PopupMenu
类来显示子菜单。例如:领取专属 10元无门槛券
手把手带您无忧上云