文章出處
文章列表
一、通過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 }
文章列表
全站熱搜