android 为Tab添加Menu
2012-04-02 09:38
357 查看
作者:张佳棣
在Android中,TabActivity类中没有与Menu有关的方法,所以如果单独使用TabActivity进行开发时,是无法创建菜单项的。为了给Tab增加菜单,有如下两种方法:
1. 主事件继承Activity。这样就可以在主事件中直接重写OnCreateOptionsMenu方法,为程序添加Menu。如果每个Tab需要有不同的Menu,可以为TabHost添加一个OnTabChangedListener,在这个Listener中对一个全局变量(比如intMenuNumber)进行修改,这样在OnCreateOptionsMenu时对这个变量进行switch()操作,就可以为不同的Tab添加不同的Menu。
方法优点:如果所有Tab共用一个Menu,该方法非常简便。
方法缺点:主事件类非常庞大;如果每个Tab要使用不同的Menu,步骤将比较繁琐。
2. 主事件继承TabActivity,然后需要使用Menu的Tab新建一个继承自Activity事件,调用的时候使用setContent(new Intent().setClass(this,NewActivity.class))方法即可。这样一来,每个新建的Activity可以自己重写OnCreateOptionsMenu方法,添加过程将非常灵活。
方法优点:为每个Tab开发单独的Menu非常容易,开发过程较为灵活。
方法缺点:Tab与Tab之间数据通信比较复杂。
在Android中,TabActivity类中没有与Menu有关的方法,所以如果单独使用TabActivity进行开发时,是无法创建菜单项的。为了给Tab增加菜单,有如下两种方法:
1. 主事件继承Activity。这样就可以在主事件中直接重写OnCreateOptionsMenu方法,为程序添加Menu。如果每个Tab需要有不同的Menu,可以为TabHost添加一个OnTabChangedListener,在这个Listener中对一个全局变量(比如intMenuNumber)进行修改,这样在OnCreateOptionsMenu时对这个变量进行switch()操作,就可以为不同的Tab添加不同的Menu。
方法优点:如果所有Tab共用一个Menu,该方法非常简便。
方法缺点:主事件类非常庞大;如果每个Tab要使用不同的Menu,步骤将比较繁琐。
2. 主事件继承TabActivity,然后需要使用Menu的Tab新建一个继承自Activity事件,调用的时候使用setContent(new Intent().setClass(this,NewActivity.class))方法即可。这样一来,每个新建的Activity可以自己重写OnCreateOptionsMenu方法,添加过程将非常灵活。
方法优点:为每个Tab开发单独的Menu非常容易,开发过程较为灵活。
方法缺点:Tab与Tab之间数据通信比较复杂。
相关文章推荐
- Android实现为Tab添加Menu的方法
- Android statusBar添加back,home,menu按钮
- 在Android软按键中添加Menu键。
- Android学习之Tab控件(使用TabHost和与Tab对应的Menu,动态更改Tabhost的Tab的背景图标,用到Ratingbar控件)
- 为android程序添加背景音乐和Menu菜单
- Android实现动态添加tab并点击移动tab背景
- 在Android 2.3状态栏中添加menu,home和back快捷键的方法
- Android标题栏上添加多个Menu按钮
- Android TabLayout添加自定义分割线并且可以修改分割线高度
- Android控件Gridview实现多个menu模块,可添加可删除
- 为Android内核添加新驱动,并添加到menuconfig菜单【实践简记】
- Android中添加Options Menu,按MENU键无反应
- Android UI 之 TabLayout动态添加tab实现筛选及自动偏移(全选,单选)
- Android标题栏上添加多个Menu按钮
- eclipse 编写Android程序时,在menu添加菜单节点没有“Item”之类的选项
- Android控件Gridview实现多个menu模块,可添加可删除
- Android里添加 Menu
- Android动态添加menu菜单
- 【转】Android statusBar添加back,home,menu按钮
- (转)为Android内核添加新驱动,并添加到menuconfig菜单【实践简记】