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     }

 

转载于:https://www.cnblogs.com/Godfunc/p/6069178.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值