189 8069 5689

android菜单创建的两种方式和菜单项添加图标-创新互联

    菜单创建的两种方式:

成都创新互联公司专业为企业提供武都网站建设、武都做网站、武都网站设计、武都网站制作等企业网站建设、网页设计与制作、武都企业网站模板建站服务,10年武都做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1、在xml文件中创建菜单:

        具体代码:

    

      xmlns:tools="http://schemas.android.com/tools"

      tools:context="com.xunfang.menucreate.MainActivity" >

    //此处创建子菜单

      

        android:id="@+id/sms"

        android:icon="@drawable/sms"

        android:orderInCategory="100"

        android:showAsAction="never"

        android:title="短信">

        

          

            android:id="@+id/smsfamily"

            android:icon="@drawable/smsalt"

            android:orderInCategory="100"

            android:showAsAction="never"

            android:title="家庭短信"/>

          

            android:id="@+id/smscompany"

            android:icon="@drawable/twitteralt"

            android:orderInCategory="100"

            android:showAsAction="never"

            android:title="公司短信"/>

        

      

      

        android:id="@+id/camera"

        android:icon="@drawable/camera"

        android:orderInCategory="100"

        android:showAsAction="never"

        android:title="照相机"/>

    

    这种情况下创建菜单时,需要用到item标签,创建一个菜单选项,就必须用到一个item

    当需要创建子菜单的时候:如有背景色的部分那样,在主菜单下创建子菜单,需要在item中嵌套一个menu标签,然后在menu标签中写子菜单,每一个子菜单还是要写在item标签中。

    2、动态创建菜单:

    public boolean onCreateOptionsMenu(Menu menu) {

                //给文件创建子菜单

    SubMenu sub = menu.addSubMenu(Menu.FIRST, 1, 1, "文件") ;

     sub.add(Menu.FIRST+3, 10, 1, "隐藏组3") ;

     sub.add(Menu.FIRST+3, 11, 2, "显示组3") ;

    

     menu.add(Menu.FIRST,2,2,"编辑") ;

     sub.setIcon(R.drawable.browser) ;

     sub.setHeaderIcon(R.drawable.browser) ;

    

     MenuItem refactor = menu.add(Menu.FIRST + 1,3,10,"重构") ;

     refactor.setIcon(R.drawable.clock) ;

     MenuItem source = menu.add(Menu.FIRST + 1,4,6,"源码") ;

     source.setIcon(R.drawable.sms) ;

    

     menu.add(Menu.FIRST + 2 ,5,5,"导航") ;

     menu.add(Menu.FIRST + 2,6,3,"搜索") ;

     return true;

     }

    上面add()方法中的四个参数分别为:第一个参数表示处于同一个组中

                                     第二个参数表示一个唯一的id

                                     第三个参数是一个id,表示在菜单中菜单项显示的顺序

                                     第四个参数表示显示的文本

注:给菜单项添加图标:

    private void setIconVisible(Menu menu) {

     try {

     Class clazz = Class

     .forName("com.android.internal.view.menu.MenuBuilder");

     Method m = clazz.getDeclaredMethod("setOptionalIconsVisible",

     boolean.class);

     m.setAccessible(true);

     m.invoke(menu, true);

     } catch (Exception e) {

     e.printStackTrace();

     }

     }

  有背景的部分为代码关键部分,上面这个方法是我自己添加的一个方法,在添加图标的时候只需要调用这个方法就行了。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:android菜单创建的两种方式和菜单项添加图标-创新互联
网址分享:http://cdxtjz.cn/article/dsphpo.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。