Android攻城狮之SubMenu
SubMenu简介
子菜单就是将功能相同或相似的分组进行多级显示的一种菜单。
SubMenu实现代码
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
SubMenu menu1 = menu.addSubMenu("Documents");
SubMenu menu2 = menu.addSubMenu("Options");
menu1.add(1, 1, 1, "read");
menu1.add(1, 2, 1, "close");
menu2.add(2, 3, 1, "delete");
menu2.add(2, 4, 1, "copy");
menu1.setHeaderTitle("Context1");
menu2.setHeaderTitle("COntext2");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if(item.getGroupId()==1){
switch(item.getItemId()) {
case 1:
Toast.makeText(this,"click the read",Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(this,"click the close",Toast.LENGTH_SHORT).show();
break;
}
}else{
switch(item.getItemId()){
case 3:
Toast.makeText(this,"click the delete",Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(this,"click the copy",Toast.LENGTH_SHORT).show();
break;
}
}
return super.onOptionsItemSelected(item);
}
除此之外,还可以通过布局文件设置SubMenu菜单。在res文件夹下创建menu文件夹,并创建main.xml文件。布局文件如下:
<item
android:showAsAction = "never"
android:title="Document">
<menu>
<item
android:id = "@+id/read"
android:showAsAction = "never"
android:title = "read"/>
<item
android:id = "@+id/close"
android:showAsAction = "never"
android:title = "close"/>
</menu>
</item>
<item
android:showAsAction = "never"
android:title="Options">
<menu>
<item
android:id = "@+id/copy"
android:showAsAction = "never"
android:title = "copy"/>
<item
android:id = "@+id/delete"
android:showAsAction = "never"
android:title = "delete"/>
</menu>
</item>
同时更改MainActivity.java文件,主函数如下:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId()){
case R.id.read:
Toast.makeText(this,"click to read",Toast.LENGTH_SHORT).show();
break;
case R.id.copy:
Toast.makeText(this,"click to copy",Toast.LENGTH_SHORT).show();
break;
case R.id.delete:
Toast.makeText(this,"click to delete",Toast.LENGTH_SHORT).show();
break;
case R.id.close:
Toast.makeText(this,"click to close",Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
点击菜单按钮
点击Document之后的界面
点击了read后
本文介绍了 Android 中子菜单(SubMenu)的概念及其实现方法。包括使用 Java 代码创建子菜单和通过布局文件设置子菜单的方法,并展示了点击不同选项时的响应效果。
466

被折叠的 条评论
为什么被折叠?



