Android攻城狮OptionsMenu
生活随笔
收集整理的這篇文章主要介紹了
Android攻城狮OptionsMenu
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Android的菜單一共有三種:
OptionsMenu 選擇菜單
ContextMenu 上下文菜單
SubMenu 子菜單創建選項菜單:
在 Activity 里面重寫 onCreateOptionMenu(),在里面設置菜單項。設置菜單項可以用代碼動態地添加:menuadd(); 還可以通過 xml(在里面配置菜單項) 來配置,然后通過MenuInflater.inflate()設置。
然后設置菜單的點擊事件,重寫 onOptionsItemSelected()。
如圖,是menu文件夾下的main.xml的代碼。
--------------
重寫onCreateOptionMenu():
public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;
}
--------------
摘自評論區
從Android3.0開始,Android并不要求手機設備上必須提供Menu菜單。與桌面菜單不同,Android菜單默認是看不到的,這樣情況下,Android推薦使用ActionBar來代替菜單。
1 public class MainActivity extends ActionBarActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.fragment_main); 7 8 } 9 10 @Override 11 public boolean onCreateOptionsMenu(Menu menu) { 12 13 // Inflate the menu; this adds items to the action bar if it is present. 14 // xml加載: 15 // getMenuInflater().inflate(R.menu.main, menu); 16 // 動態設置菜單項 17 MenuItem item = menu.add(1, 100, 1, "菜單一"); 18 item.setTitle("aaa"); 19 item.setIcon(R.drawable.ic_launcher);// api>=11它不顯示圖標 20 menu.add(1, 101, 1, "菜單二"); 21 menu.add(1, 102, 1, "菜單三"); 22 23 return true; 24 } 25 26 // 創建點擊事件 27 @Override 28 public boolean onOptionsItemSelected(MenuItem item) { 29 // TODO Auto-generated method stub 30 switch (item.getItemId()) { 31 // xml方式: 32 // case R.id.action_menu_item1: 33 // Toast.makeText(MainActivity.this, "點擊菜單一", 0).show(); 34 // break; 35 // 36 // case R.id.action_menu_item2: 37 // Toast.makeText(MainActivity.this, "點擊菜單二", 0).show(); 38 // break; 39 // 動態設置菜單項: 40 case 100: 41 Intent intent = new Intent(MainActivity.this, SencondActivity.class); 42 item.setIntent(intent); 43 Toast.makeText(MainActivity.this, "點擊菜單一", 0).show(); 44 break; 45 case 101: 46 Toast.makeText(MainActivity.this, "點擊菜單二", 0).show(); 47 break; 48 case 102: 49 Toast.makeText(MainActivity.this, "點擊菜單三", 0).show(); 50 break; 51 52 } 53 return super.onOptionsItemSelected(item); 54 } 55 56 }
1 public class MainActivity extends ActionBarActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.fragment_main); 7 8 } 9 10 @Override 11 public boolean onCreateOptionsMenu(Menu menu) { 12 13 // Inflate the menu; this adds items to the action bar if it is present. 14 // xml加載: 15 // getMenuInflater().inflate(R.menu.main, menu); 16 // 動態設置菜單項 17 MenuItem item = menu.add(1, 100, 1, "菜單一"); 18 item.setTitle("aaa"); 19 item.setIcon(R.drawable.ic_launcher);// api>=11它不顯示圖標 20 menu.add(1, 101, 1, "菜單二"); 21 menu.add(1, 102, 1, "菜單三"); 22 23 return true; 24 } 25 26 // 創建點擊事件 27 @Override 28 public boolean onOptionsItemSelected(MenuItem item) { 29 // TODO Auto-generated method stub 30 switch (item.getItemId()) { 31 // xml方式: 32 // case R.id.action_menu_item1: 33 // Toast.makeText(MainActivity.this, "點擊菜單一", 0).show(); 34 // break; 35 // 36 // case R.id.action_menu_item2: 37 // Toast.makeText(MainActivity.this, "點擊菜單二", 0).show(); 38 // break; 39 // 動態設置菜單項: 40 case 100: 41 Intent intent = new Intent(MainActivity.this, SencondActivity.class); 42 item.setIntent(intent); 43 Toast.makeText(MainActivity.this, "點擊菜單一", 0).show(); 44 break; 45 case 101: 46 Toast.makeText(MainActivity.this, "點擊菜單二", 0).show(); 47 break; 48 case 102: 49 Toast.makeText(MainActivity.this, "點擊菜單三", 0).show(); 50 break; 51 52 } 53 return super.onOptionsItemSelected(item); 54 } 55 56 }
?
轉載于:https://www.cnblogs.com/my334420/p/6785662.html
總結
以上是生活随笔為你收集整理的Android攻城狮OptionsMenu的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k线图的分析小技巧以及买入卖出信号
- 下一篇: 华为鸿蒙 OS 2.0 系统流畅度实测: