Android攻城狮OptionsMenu
生活随笔
收集整理的這篇文章主要介紹了
Android攻城狮OptionsMenu
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Android的菜單一共有三種:
OptionsMenu 選擇菜單
ContextMenu 上下文菜單
SubMenu 子菜單創(chuàng)建選項(xiàng)菜單:
在 Activity 里面重寫(xiě) onCreateOptionMenu(),在里面設(shè)置菜單項(xiàng)。設(shè)置菜單項(xiàng)可以用代碼動(dòng)態(tài)地添加:menuadd(); 還可以通過(guò) xml(在里面配置菜單項(xiàng)) 來(lái)配置,然后通過(guò)MenuInflater.inflate()設(shè)置。
然后設(shè)置菜單的點(diǎn)擊事件,重寫(xiě) onOptionsItemSelected()。
如圖,是menu文件夾下的main.xml的代碼。
--------------
重寫(xiě)onCreateOptionMenu():
public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;
}
--------------
摘自評(píng)論區(qū)
從Android3.0開(kāi)始,Android并不要求手機(jī)設(shè)備上必須提供Menu菜單。與桌面菜單不同,Android菜單默認(rèn)是看不到的,這樣情況下,Android推薦使用ActionBar來(lái)代替菜單。
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 // 動(dòng)態(tài)設(shè)置菜單項(xiàng) 17 MenuItem item = menu.add(1, 100, 1, "菜單一"); 18 item.setTitle("aaa"); 19 item.setIcon(R.drawable.ic_launcher);// api>=11它不顯示圖標(biāo) 20 menu.add(1, 101, 1, "菜單二"); 21 menu.add(1, 102, 1, "菜單三"); 22 23 return true; 24 } 25 26 // 創(chuàng)建點(diǎn)擊事件 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, "點(diǎn)擊菜單一", 0).show(); 34 // break; 35 // 36 // case R.id.action_menu_item2: 37 // Toast.makeText(MainActivity.this, "點(diǎn)擊菜單二", 0).show(); 38 // break; 39 // 動(dòng)態(tài)設(shè)置菜單項(xiàng): 40 case 100: 41 Intent intent = new Intent(MainActivity.this, SencondActivity.class); 42 item.setIntent(intent); 43 Toast.makeText(MainActivity.this, "點(diǎn)擊菜單一", 0).show(); 44 break; 45 case 101: 46 Toast.makeText(MainActivity.this, "點(diǎn)擊菜單二", 0).show(); 47 break; 48 case 102: 49 Toast.makeText(MainActivity.this, "點(diǎn)擊菜單三", 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 // 動(dòng)態(tài)設(shè)置菜單項(xiàng) 17 MenuItem item = menu.add(1, 100, 1, "菜單一"); 18 item.setTitle("aaa"); 19 item.setIcon(R.drawable.ic_launcher);// api>=11它不顯示圖標(biāo) 20 menu.add(1, 101, 1, "菜單二"); 21 menu.add(1, 102, 1, "菜單三"); 22 23 return true; 24 } 25 26 // 創(chuàng)建點(diǎn)擊事件 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, "點(diǎn)擊菜單一", 0).show(); 34 // break; 35 // 36 // case R.id.action_menu_item2: 37 // Toast.makeText(MainActivity.this, "點(diǎn)擊菜單二", 0).show(); 38 // break; 39 // 動(dòng)態(tài)設(shè)置菜單項(xiàng): 40 case 100: 41 Intent intent = new Intent(MainActivity.this, SencondActivity.class); 42 item.setIntent(intent); 43 Toast.makeText(MainActivity.this, "點(diǎn)擊菜單一", 0).show(); 44 break; 45 case 101: 46 Toast.makeText(MainActivity.this, "點(diǎn)擊菜單二", 0).show(); 47 break; 48 case 102: 49 Toast.makeText(MainActivity.this, "點(diǎn)擊菜單三", 0).show(); 50 break; 51 52 } 53 return super.onOptionsItemSelected(item); 54 } 55 56 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/my334420/p/6785662.html
總結(jié)
以上是生活随笔為你收集整理的Android攻城狮OptionsMenu的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: k线图的分析小技巧以及买入卖出信号
- 下一篇: Android攻城狮fragment