农村四月闲人少,勤学苦攻把名扬。这篇文章主要讲述Android之在活动中使用Menu相关的知识,希望能为你提供帮助。
手机屏幕非常有限,因此要充分利用屏幕空间。android提供了一种菜单的方式,可以让菜单得到充分地展示,而且还不占用任何屏幕空间。
那怎么创建菜单呢?
1. 在 res
目录下新建 Menu 文件夹,在文件夹下再建一个叫 main
的菜单文件。.
2.
在 main.xml
中添加如下代码:
文章图片
文章图片
1 < menu 2xmlns:android="http://schemas.android.com/apk/res/android"> 3< item 4android:id="@+id/add_item" 5android:title="Add"/> 6< item 7android:id="@+id/remove_item" 8android:title="Remove"/> 9 < /menu>
View Code在这里创建了两个菜单项,其中< item> 标签就是用来创建具体的某一个菜单项,通过 id 给这个菜单项指定一个唯一的标识符, title 给这个菜单项指定一个唯一的名称。
3. 在菜单项所在的活动中重写 onCreateOptionsMenu() 方法(重写方法快捷键 Ctrl+O)
文章图片
文章图片
1 public boolean onCreateOptionsMenu(Menu menu){ 2getMenuInflater().inflate(R.menu.main,menu); 3return true; 4 }
View Code通过 getMenuInflater() 方法能够得到所在Activity的 MenuInflater 对象,再调用它的 inflate() 方法来设置menu XML里的 menu 作为该Activity的菜单,就可以给当前活动创建菜单了。
【Android之在活动中使用Menu】inflate() 方法接受两个参数,
第一个参数用于指定通过哪一个资源文件来创建菜单;
第二个参数用于指定菜单项将添加到哪一个 Menu 对象中,这里可以直接使用方法中传入的 menu 参数。
然后这个方法返回 true,表示允许创建的菜单显示出来;如果返回了 false,创建的菜单将无法显示。
4. 当然菜单定义出来不是为了看的,我们可以给菜单定义响应事件。
重写 onOptionsItemSelected()方法:
文章图片
文章图片
1 public boolean onOptionsItemSelected(MenuItem item){ 2switch(item.getItemId){ 3case R.id.add_item: 4Toast.makeText(this,"You clicked Add",Toast.LENGTH_SHORT).show(); 5break; 6case R.id.remove_item: 7Toast.makeText(this,"You clicked Remove",Toast.LENGTH_SHORT).show(); 8break; 9default: 10} 11return true; 12 }
View Code通过调用item.getItemId() 来判断点击的是哪一个菜单项。
添加上菜单后重新运行程序,会发现标题栏右侧有三个点的符号,这就是菜单按钮。
推荐阅读
- Android studio设置文件头,定制代码注释
- Android控件--定制ListView界面
- 安卓手势密码设置的实现
- hdu多校第4场 B Harvest of Apples(莫队)
- Problem B. Harvest of Apples
- JAVA操作ObjectMapper类
- Harvest of Apples
- Spring Boot教程入门介绍
- Spring Boot启动器详细介绍