本文实例讲述了Android使用xml文件资源定义菜单实现方法。分享给大家供大家参考,具体如下:
Android提供了创建菜单的方式,一种是在Java代码中创建,一种是使用XML文件定义。上面的实例都是Java创建菜单,在Java存在如下大学。
一、在/res下建立/菜单文件夹
二,在菜单文件夹下建立:menu_main.xml:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt;菜单xmlns: android=" http://schemas.android.com/apk/res/android "比; & lt;项目android: title=癅string/app_name” android:图标=癅drawable/seek02”比; & lt; menu> & lt; !——定义一组选项菜单——比; & lt;组android: checkableBehavior=暗ド怼北? & lt; !——定义多个菜单项——比; & lt;项目 android: id=癅 + id/font_10” android: title=癴ont_10”/比; & lt;项目 android: id=癅 + id/font_12” android: title=癴ont_12”/比; & lt;项目 android: id=癅 + id/font_14” android: title=癴ont_14”/比; & lt;项目 android: id=癅 + id/font_16” android: title=癴ont_16”/比; & lt;项目 android: id=癅 + id/font_18” android: title=癴ont_18”/比; & lt;/group> & lt;/menu> & lt;/item> & lt; !——定义一个普通菜单项——比; & lt;项目android: id=癅 + id/plain_item” android: title=皃lain_item”/比; & lt;项目android: title=癴ont_color” android:图标=癅drawable/seek03”比; & lt; menu> & lt; !——定义一个普通选项菜单——比; & lt; group> & lt; !——定义三个菜单项——比; & lt;项目 android: id=癅 + id/red_font” android: title=皉ed_title”/比; & lt;项目 android: id=癅 + id/green_font” android: title=皉ed_title”/比; & lt;项目 android: id=癅 + id/blue_font” android: title=皉ed_title”/比; & lt;/group> & lt;/menu> & lt;/item> & lt;/menu> >之前三,在菜单文件夹下建立:context.xml:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt;菜单xmlns: android=" http://schemas.android.com/apk/res/android "比; & lt; !——定义一组单选菜单项——比; & lt;组android: checkableBehavior=暗ド怼北? & lt; !——定义三个菜单项——比; & lt;项目 android: id=癅 + id/红” android: title=皉ed_title” android: alphabeticShortcut=r/比; & lt;项目 android: id=癅 + id/绿色” android: title=皉ed_title” android: alphabeticShortcut=" g "/比; & lt;项目 android: id=癅 + id/蓝” android: title=皉ed_title” android: alphabeticShortcut=" b "/比; & lt;/group> & lt;/menu> >之前四,主活动里的实现:
公开课MainActivity延伸AppCompatActivity { 私人TextView TextView; @Override 保护无效onCreate(包savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textView=(textView) findViewById (R.id.txt);//为文本框注册上下文菜单 registerForContextMenu (textView); } @Override 公共布尔onCreateOptionsMenu菜单(菜单){ MenuInflater增压泵=new MenuInflater(这个);//装填R.Menu.my_menu菜单,并添加到菜单中 inflater.inflate (R.menu.menu_main、菜单); 返回super.onCreateOptionsMenu(菜单); }//创建上下文菜单时触发该方法 @Override 公共空间onCreateContextMenu(快捷菜单,查看v,快捷菜单。ContextMenuInfo menuInfo) { MenuInflater增压泵=new MenuInflater(这个);//装填R.Menu.menu菜单,并添加到菜单中 inflater.inflate (R.menu.context、菜单); menu.setHeaderIcon (R.drawable.seek02); menu.setHeaderTitle(“请选择背景色”); }//上下文菜单中菜单项被单击时,触发该方法 @Override 公共布尔onContextItemSelected(子菜单项){//勾选菜单项 item.setChecked(真正的); 开关(item.getItemId ()) { 案例R.id.red: item.setChecked(真正的); textView.setBackgroundColor (Color.RED); 打破; 案例R.id.green: item.setChecked(真正的); textView.setBackgroundColor (Color.GREEN); 打破; 案例R.id.blue: item.setChecked(真正的); textView.setBackgroundColor (Color.BLUE); 打破; } 返回true; }//菜单项被单击后的回调方法 @Override 公共布尔onOptionsItemSelected(子菜单项){ 如果(item.isCheckable ()) {//勾选菜单项 item.setCheckable(真正的); }//开关判断单击哪个菜单项,并有针对性的做出响应 开关(item.getItemId ()) { 案例R.id.font_10: textView。setTextSize (10 * 2); 打破; 案例R.id.font_12: textView。setTextSize (12 * 2); 打破; 案例R.id.font_14: textView。setTextSize (14 * 2); 打破; 案例R.id.font_16: textView。setTextSize (16 * 2); 打破; 案例R.id.font_18: textView。setTextSize (18 * 2); 打破; 案例R.id.red_font: textView.setTextColor (Color.RED); 打破; 案例R.id.green_font: textView.setTextColor (Color.GREEN); 打破; 案例R.id.blue_font: textView.setTextColor (Color.BLUE); 打破; } 返回true; } }Android使用xml文件资源定义菜单实现方法示例