Android开发实现SubMenu选项菜单和子菜单示例
程序员文章站
2022-05-26 16:21:21
本文实例讲述了android开发实现submenu选项菜单和子菜单。分享给大家供大家参考,具体如下:
简介:
submenu:代表一个子菜单,包含1~n个menuite...
本文实例讲述了android开发实现submenu选项菜单和子菜单。分享给大家供大家参考,具体如下:
简介:
submenu:代表一个子菜单,包含1~n个menuitem
实现效果:
具体实现方法:
主活动 mainactivity:
public class mainactivity extends appcompatactivity { //定义 “字体大小” 菜单项的标识 final int font_10 = 0x111; final int font_12 = 0x112; final int font_14 = 0x113; final int font_16 = 0x114; final int font_18 = 0x115; //定义“普通菜单项” 的标识 final int plain_item = 0x11b; //定义“字体颜色”的菜单项的标识 final int font_red = 0x116; final int font_blue = 0x117; final int font_green = 0x118; private edittext edittext; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); edittext = (edittext) findviewbyid(r.id.txt); } //当用户点击按钮键时 触发该方法 @override public boolean oncreateoptionsmenu(menu menu) { //添加字体大小的子菜单 submenu fontmenu = menu.addsubmenu("字体大小"); //设置菜单图标 fontmenu.seticon(r.drawable.seek02); //设置菜单头的图标 fontmenu.setheadericon(r.drawable.seek03); //设置菜单头的标题 fontmenu.setheadertitle("选择字体大小"); fontmenu.add(0, font_10, 0 ,"10号字体"); fontmenu.add(0, font_12, 0 ,"12号字体"); fontmenu.add(0, font_14, 0 ,"14号字体"); fontmenu.add(0, font_16, 0 ,"16号字体"); fontmenu.add(0, font_18, 0 ,"18号字体"); //向menu中添加普通菜单项 menu.add(0, plain_item, 0, "普通菜单选项"); //向menu中添加"字体颜色"的子菜单 submenu colormenu = menu.addsubmenu("字体颜色"); colormenu.seticon(r.drawable.find1); //设置菜单头图标 colormenu.setheadericon(r.drawable.find); //设置菜单头标题 colormenu.setheadertitle("选择文字颜色"); colormenu.add(0, font_red, 0, "红色"); colormenu.add(0, font_green, 0, "绿色"); colormenu.add(0, font_blue, 0, "蓝色"); return super.oncreateoptionsmenu(menu); } @override public boolean onoptionsitemselected(menuitem item) { //判断单机的是那个菜单项 switch (item.getitemid()){ case font_10: edittext.settextsize(10*2); break; case font_12: edittext.settextsize(12*2); break; case font_14: edittext.settextsize(14*2); break; case font_16: edittext.settextsize(16*2); break; case font_18: edittext.settextsize(18*2); break; case font_red: edittext.settextcolor(color.red); break; case font_green: edittext.settextcolor(color.green); break; case font_blue: edittext.settextcolor(color.blue); break; case plain_item: toast.maketext(mainactivity.this,"you click menu",toast.length_short).show(); break; } return true; } }
布局中添加 edittext:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mainactivity"> <edittext android:id="@+id/txt" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="用于测试的内容"/> </android.support.constraint.constraintlayout>
更多关于android相关内容感兴趣的读者可查看本站专题:《android布局layout技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android基本组件用法总结》、《android视图view技巧总结》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。