您的位置:首页 > 移动开发 > Android开发

【总结】Android攻城狮之OptionsMenu

2018-04-05 14:05 211 查看

Android攻城狮之OptionsMenu

目录

Android攻城狮之OptionsMenu
通过布局文件创建菜单项

动态添加菜单项

通过布局文件创建菜单项

  
MainActivity.java
如下

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.action_menu1:
Toast.makeText(MainActivity.this, "点击了菜单一",Toast.LENGTH_LONG).show();
break;
case R.id.action_menu2:
Toast.makeText(MainActivity.this, "点击了菜单二", Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}
}


  同时在
res
文件夹下,建立
menu
文件夹,用来存放菜单栏,并创建
main.xml
布局文件。布局代码如下:

<item
android:id="@+id/action_menu1"
android:orderInCategory="100"
app:showAsAction="never"
android:title="item1" />
<
4000
item
android:id="@+id/action_menu2"
android:orderInCategory="100"
app:showAsAction="never"
android:title="item2" />


动态添加菜单项

  除了xml布局文件,还可以通过代码进行动态添加

@Override
public boolean onCreateOptionsMenu(Menu menu){
menu.add(1, 100, 1, "菜单一");
menu.add(1, 101, 1, "菜单二");
menu.add(1, 102, 1, "菜单三");
menu.add(1, 103, 1, "菜单四");
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case 100:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);//设置点击事件——页面跳转
item.setIntent(intent);
break;
case 101:
Toast.makeText(MainActivity.this, "点击了菜单二", Toast.LENGTH_LONG).show();
break;
case 102:
Toast.makeText(MainActivity.this, "点击了菜单三", Toast.LENGTH_LONG).show();
break;
case 103:
Toast.makeText(MainActivity.this, "点击了菜单四", Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}


   除此之外,由于
menu.add()
函数返回
MenuItem
类型数据,因此可以进一步添加内容

@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuItem menuItem = menu.add(1, 100, 1, "菜单一");
menuItem.setTitle("重命名的菜单一");
menuItem.setIcon(R.drawable.ic_launcher_background);
menu.add(1, 101, 1, "菜单二");
menu.add(1, 102, 1, "菜单三");
menu.add(1, 103, 1, "菜单四");
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: