Android学习笔记 一级二级菜单的使用
2017-08-21 11:14
411 查看
(1)布局文件没有做更改
(2)在res--menu目录下的main.xml文件中代码如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 一级菜单 -->
<item
android:id="@+id/file"
android:title="@string/file">
<!-- 二级菜单 -->
<menu>
<item
android:id="@+id/create"
android:title="@string/create">
</item>
<item
android:id="@+id/open"
android:title="@string/open">
</item>
</menu>
</item>
<!-- 一级菜单 -->
<item
android:id="@+id/chioce"
android:title="@string/chioce">
<!-- 二级菜单 -->
<menu>
<item
android:id="@+id/create1"
android:title="@string/create">
</item>
<item
android:id="@+id/open1"
android:title="@string/open">
</item>
</menu>
</item>
</menu> (3)values目录下的string.xml文件中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Menu_submenu</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="file">文件</string>
<string name="create">新建</string>
<string name="open">打开</string>
<string name="chioce">选项</string>
</resources> (4)MainActivity.java代码如下:
package com.example.menu_submenu;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
/*
* 处理一级菜单
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.file:
Toast.makeText(MainActivity.this, "一级菜单file..", Toast.LENGTH_SHORT)
.show();
break;
case R.id.chioce:
Toast.makeText(MainActivity.this, "一级菜单chioce..",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
/*
* 处理二级菜单的
*/
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case R.id.create1:
Toast.makeText(MainActivity.this, "处理二级菜单create1..",
Toast.LENGTH_SHORT).show();
break;
case R.id.open1:
Toast.makeText(MainActivity.this, "处理二级菜单create1..",
Toast.LENGTH_SHORT).show();
break;
case R.id.create:
Toast.makeText(MainActivity.this, "处理二级菜单create..",
Toast.LENGTH_SHORT).show();
break;
case R.id.open:
Toast.makeText(MainActivity.this, "处理二级菜单open..",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return super.onMenuItemSelected(featureId, item);
}
}
(2)在res--menu目录下的main.xml文件中代码如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 一级菜单 -->
<item
android:id="@+id/file"
android:title="@string/file">
<!-- 二级菜单 -->
<menu>
<item
android:id="@+id/create"
android:title="@string/create">
</item>
<item
android:id="@+id/open"
android:title="@string/open">
</item>
</menu>
</item>
<!-- 一级菜单 -->
<item
android:id="@+id/chioce"
android:title="@string/chioce">
<!-- 二级菜单 -->
<menu>
<item
android:id="@+id/create1"
android:title="@string/create">
</item>
<item
android:id="@+id/open1"
android:title="@string/open">
</item>
</menu>
</item>
</menu> (3)values目录下的string.xml文件中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Menu_submenu</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="file">文件</string>
<string name="create">新建</string>
<string name="open">打开</string>
<string name="chioce">选项</string>
</resources> (4)MainActivity.java代码如下:
package com.example.menu_submenu;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
/*
* 处理一级菜单
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.file:
Toast.makeText(MainActivity.this, "一级菜单file..", Toast.LENGTH_SHORT)
.show();
break;
case R.id.chioce:
Toast.makeText(MainActivity.this, "一级菜单chioce..",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
/*
* 处理二级菜单的
*/
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case R.id.create1:
Toast.makeText(MainActivity.this, "处理二级菜单create1..",
Toast.LENGTH_SHORT).show();
break;
case R.id.open1:
Toast.makeText(MainActivity.this, "处理二级菜单create1..",
Toast.LENGTH_SHORT).show();
break;
case R.id.create:
Toast.makeText(MainActivity.this, "处理二级菜单create..",
Toast.LENGTH_SHORT).show();
break;
case R.id.open:
Toast.makeText(MainActivity.this, "处理二级菜单open..",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return super.onMenuItemSelected(featureId, item);
}
}
相关文章推荐
- Android学习笔记之Menu一级菜单、二级菜单的使用
- dedecms二级菜单中判断子菜单标签的使用方法
- 文章风格: 一级标题使用蓝色字体,二级和三级使用黑色,重点部分使用红色或黄色标记,正文采用浅灰色
- 使用javascript中读取Xml文件做成的一个二级联动菜单
- hibernate 一级和二级缓存使用总结
- cocos2dx-lua使用UIListView制作二级折叠菜单
- JS+CSS全力打造的一级横向滑动,二级竖向下拉综合菜单
- 使用OFFSET函数完成二级城市菜单
- rails使用ajax实现无刷新二级级联菜单
- 关于使用bootstrap创建导航栏的一些学习心得(dropdown二级菜单)
- Hibernate中一级缓存和二级缓存使用详解
- Android学习笔记(2)——底部导航栏、菜单的使用
- dedecms二级菜单中判断子菜单标签的使用方法
- Hibernate中一级和二级缓存使用和详解
- 一级二级菜单slideToggle
- 经典笔试题:一级指针数组、二级指针数组和三级指针的联合使用详解
- hibernate--一级和二级缓存(使用Ehcache)以及查询缓存
- ExpandableListView 动态加载 点击一级菜单时再加载二级菜单的内容实现
- 动态建立右键菜单(一级/二级/三级) 响应鼠标单击事件及修改项的内容
- 【总结归纳】一级指针和二级指针的使用