实现android标题栏的多级menu菜单
效果图如下:
图中的第一条点击展开。还会显示其他很多项。
1:设置Xml文件布局
编程设置多级menu菜单
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="ListView效果" android:id="@+id/list_view"> <menu> <item android:id="@+id/list_view_vertical_standrad" android:title="垂直标准"> </item> <item android:id="@+id/list_view_vertical_reverse" android:title="垂直反向"> </item> <item android:id="@+id/list_view_horizontal_standrad" android:title="水平标准"> </item> <item android:id="@+id/list_view_horizontal_reverse" android:title="水平反向"> </item> </menu>
</item> <item android:title="GridView效果" android:id="@+id/grid_view">
</item>
<item android:title="瀑布流效果" android:id="@+id/stagger_view">
</item>
</menu>
|
2:配置ID与事件
在需要调用的activity界面中重写onCreateOptionsMenu方法和onOptionsItemSelected方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.testtrillgates,menu); return super.onCreateOptionsMenu(menu);
}
@Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { int itemId = item.getItemId(); switch (itemId){ case R.id.list_view_vertical_standrad: break; default: break; }
return super.onOptionsItemSelected(item); }
|