安卓开发_浅谈OptionsMenus(选项菜单)
2015-01-08 20:24
344 查看
Android平台下所提供的菜单大体上可分为三类:选项菜单、上下文菜单和子菜单。当Activity在前台运行时,如果用户按下手机上的Menu键,此时就会在屏幕低端弹出相应的选项菜单。但这个功能需要开发人员编程来实现的,如果在开发应用程序时没有实现该功能,那么程序运行时按下手机的meun键是不会起作用的。这里就先学习 选项菜单OptionsMenus创建选项菜单有两种方式一、xml文件静态创建
原来是特定版本用到的,当你的应用程序目标设为蜂巢平台(即 Android 3.0)时,你可以利用Action Bar部件提供的全部功能,将你的选项菜单项放在Action Bar的右上角, 对用户来说使用更方便,控制该行为的主菜单项属性是android:showAsAction。 这个属性可接受的值有: 1.alaways:这个值会使菜单项一直显示在ActionBar上。 2.ifRoom:如果有足够的空间,这个值会使菜单显示在ActionBar上。 3.never:这个值菜单永远不会出现在ActionBar是。 4.withText:这个值使菜单和它的图标,菜单文本一起显示。
package information; import com.example.allcode.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class OptionMenus_text extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.optionmenus); } @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub //一、xml的形式静态添加菜单项 getMenuInflater().inflate(R.menu.main,menu); return true; } //点击事件 @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub //根据菜单项id执行响应事件 switch (item.getItemId()) { //静态菜单 判断Id case R.id.action_menu_1: Toast.makeText(OptionMenus_text.this, "点击了菜单一", 1).show(); break; case R.id.action_menu_2: Toast.makeText(OptionMenus_text.this, "点击了菜单二", 1).show(); default: break; } return super.onOptionsItemSelected(item); } }
32 getMenuInflater().inflate(R.menu.main,menu); 看这一行代码, 我们找到其对应的文件main.xml文件代码如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_menu_1" android:orderInCategory="100" android:showAsAction="never" android:title="菜单一"/> <item android:id="@+id/action_menu_2" android:orderInCategory="100" android:showAsAction="never" android:title="菜单二"/> </menu>可以看到两个菜单项,看下菜单项的各个属性:
1、 android:id= 是菜单项id
2、android:orderInCategory= 是菜单项优先级,值越大,优先级越多,当菜单项过多时,可隐藏在折叠菜单中
3、android:showAsAction=
原来是特定版本用到的,当你的应用程序目标设为蜂巢平台(即 Android 3.0)时,你可以利用Action Bar部件提供的全部功能,将你的选项菜单项放在Action Bar的右上角, 对用户来说使用更方便,控制该行为的主菜单项属性是android:showAsAction。 这个属性可接受的值有: 1.alaways:这个值会使菜单项一直显示在ActionBar上。 2.ifRoom:如果有足够的空间,这个值会使菜单显示在ActionBar上。 3.never:这个值菜单永远不会出现在ActionBar是。 4.withText:这个值使菜单和它的图标,菜单文本一起显示。
4、android:title= 是菜单项名字 二、动态创建选项菜单
package information; import com.example.allcode.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class OptionMenus_text extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.optionmenus); } @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub //二、动态添加菜单项 MenuItem item = menu.add(1, 100, 1, "菜单一"); //第一个参数:用来分组的id,第二个参数:菜单项的id,第三个参数:排序,第四个参数:菜单项文字描述 item.setTitle("标题"); item.setIcon(R.drawable.icon_72);//api>=11不显示图片 menu.add(1, 101, 1, "菜单二"); menu.add(1, 102, 1, "菜单三"); menu.add(1, 103, 1, "菜单四"); return true; } //点击事件 @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub //根据菜单项id执行响应事件 switch (item.getItemId()) { //动态菜单判断Id,id为第二个参数 case 100: Toast.makeText(OptionMenus_text.this, "点击了菜单一", 1).show(); break; case 101: Toast.makeText(OptionMenus_text.this, "点击了菜单二", 1).show(); break; case 102: Toast.makeText(OptionMenus_text.this, "点击了菜单三", 1).show(); break; case 103: Intent intent = new Intent(); intent.setClass(this, AlertDialog_text.class); item.setIntent(intent); //菜单项创建activity的方法 break; default: break; } return super.onOptionsItemSelected(item); } }效果图:
相关文章推荐
- 安卓开发笔记——Menu菜单组件(选项菜单,上下文菜单,子菜单)
- 安卓——OptionsMenus实现选项菜单
- 安卓手机如何打开“开发人员选项”菜单
- 安卓开发:创建带子菜单的选项菜单
- 安卓开发_浅谈AsyncTask
- Oracle form开发时点击菜单“程序”-》“运行表单”,出现“FRM-10142:HTTP监听程序没有在******的端口8889上运行。请启动该监听程序或检查您的运行时首选项。”
- 安卓 创建一个选项菜单的方法和步骤:
- python开发_tkinter_菜单选项中英文切换_菜单选项不可用操作_博主推荐
- 【Android 开发教程】选项菜单
- 安卓项目开发实战(1)--首页顶部菜单BAR实现
- 安卓开发_浅谈WebView(转)
- Android开发--身高体重指数(BIM)计算--添加菜单(Menu)(菜单功能、创建菜单、处理选项动作)
- 安卓项目开发实战(1)续--首页顶部菜单用actionbar实现
- 安卓开发_浅谈ListView之分页列表
- 安卓开发笔记——TabHost组件(一)(实现底部菜单导航)
- 安卓开发-使用XML菜单布局简单介绍
- 浅谈Excel开发:二 Excel 菜单系统
- Android开发学习笔记:浅谈3大类菜单
- 安卓开发中菜单
- 安卓开发_浅谈Fragment之事务添加Fragment对象