zoukankan      html  css  js  c++  java
  • Android开发之Menu和actionBar

    一、通过Menu目录下创建一个布局文件:

      先看代码meu/main.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     3     <item android:id="@+id/setting1"
     4         android:showAsAction="never"
     5         android:orderInCategory="100"
     6         android:title="@string/setting1"/>
     7     <item android:id="@+id/setting2"
     8         android:orderInCategory="100"
     9         android:showAsAction="never"
    10         android:title="@string/setting2"/>
    11 </menu>

    MainActivity:

     1 @Override
     2     public boolean onCreateOptionsMenu(Menu menu) {
     3         getMenuInflater().inflate(R.menu.main,menu);
     4         return super.onCreateOptionsMenu(menu);
     5     }
     6 
     7 @Override
     8     public boolean onOptionsItemSelected(MenuItem item) {
     9         switch (item.getItemId()){
    10             case R.id.setting1:   Toast.makeText(this,"Setting1",Toast.LENGTH_SHORT).show();
    11                 break;
    12             case R.id.setting2:   Toast.makeText(this,"Setting2",Toast.LENGTH_SHORT).show();
    13                 break;
    14         }
    15     return super.onOptionsItemSelected(item);
    16     }

    1、orderInCategory属性:

      actionbar里每个item的优先级,值越大优先级越低,actionbar地方不够就会放到overflow中

    2、接下来介绍一下showAsAction属性:

      (1)always:这个值会使菜单项一直显示在ActionBar上。

      (2)ifRoom:如果有足够的空间,这个值会使菜单显示在ActionBar上。

      (3)never:这个值菜单永远不会出现在ActionBar是。

      (4)withText:这个值使菜单和它的图标,菜单文本一起显示。

      下面是三种显示效果:

         

    二、动态添加:

      动态添加的代码如下:

      

     1 @Override
     2     public boolean onCreateOptionsMenu(Menu menu) {
     3         menu.add(0,1,0,"后退");
     4         menu.add(0,2,0,"前进");
     5         return super.onCreateOptionsMenu(menu);
     6     }
     7 
     8 @Override
     9     public boolean onOptionsItemSelected(MenuItem item) {
    10         switch (item.getItemId()){
    11             case 1:
    12                 Toast.makeText(this,"退",Toast.LENGTH_SHORT).show();
    13                 break;
    14             case 2:
    15                 Toast.makeText(this,"进",Toast.LENGTH_SHORT).show();
    16                 break;
    17         }
    18         return super.onOptionsItemSelected(item);
    19     }
    GitHub:https://github.com/godfunc
    博客园:http://www.cnblogs.com/godfunc
    Copyright ©2019 Godfunc
  • 相关阅读:
    vue chrome调试工具开启
    mac显示隐藏文件
    mac网络变慢?
    57-文件处理小结
    56-文件修改的两种方式
    54-with管理文件操作上下文
    53-文件的三种打开方式
    51-基本文件操作
    50-Python2和3字符编码的区别
    49-字符编码
  • 原文地址:https://www.cnblogs.com/Godfunc/p/6069178.html
Copyright © 2011-2022 走看看