本文主要是介绍【总结】Android攻城狮之OptionsMenu,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Android攻城狮之OptionsMenu
目录
- Android攻城狮之OptionsMenu
- 通过布局文件创建菜单项
- 动态添加菜单项
通过布局文件创建菜单项
MainActivity.java
如下
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu){getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic 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
布局文件。布局代码如下:
<itemandroid:id="@+id/action_menu1"android:orderInCategory="100"app:showAsAction="never"android:title="item1" />
<itemandroid: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;
}
这篇关于【总结】Android攻城狮之OptionsMenu的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!