`

Tab

 
阅读更多


public class MyTab extends TabActivity implements OnTabChangeListener {

	private TabHost myTabhost;
	protected int myMenuSettingTag=0;
	protected Menu myMenu;
	private static final int myMenuResources[] = { R.menu.a_menu,
		R.menu.b_menu, R.menu.c_menu};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		myTabhost=this.getTabHost();
		//get Tabhost
		LayoutInflater.from(this).inflate(R.layout.main, myTabhost.getTabContentView(), true);
		myTabhost.setBackgroundColor(Color.argb(150, 22, 70, 150));
		
		myTabhost
				.addTab(myTabhost.newTabSpec("One")// make a new Tab
						.setIndicator("A",
								getResources().getDrawable(R.drawable.gimp))
						// set the Title and Icon
						.setContent(R.id.widget_layout_Blue));
		// set the layout

		myTabhost
				.addTab(myTabhost.newTabSpec("Two")// make a new Tab
						.setIndicator("B",
								getResources().getDrawable(R.drawable.mumule))
						// set the Title and Icon
						.setContent(R.id.widget_layout_green));
		// set the layout

		myTabhost
				.addTab(myTabhost.newTabSpec("Three")// make a new Tab
						.setIndicator("C",
								getResources().getDrawable(R.drawable.notepad))
						// set the Title and Icon
						.setContent(R.id.widget_layout_red));
		// set the layout
		
		myTabhost.setOnTabChangedListener(this);
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {//这里对应,点击一下tab,然后点击menu按钮,出现不同tab对应不同菜单的效果
		// TODO Auto-generated method stub
		// Hold on to this
		myMenu = menu;
		myMenu.clear();//清空MENU菜单
		// Inflate the currently selected menu XML resource.
		MenuInflater inflater = getMenuInflater();        
        //从TabActivity这里获取一个MENU过滤器
		switch (myMenuSettingTag) {
		case 1:
			inflater.inflate(myMenuResources[0], menu);
            //动态加入数组中对应的XML MENU菜单
			break;
		case 2:
			inflater.inflate(myMenuResources[1], menu);
			break;
		case 3:
			inflater.inflate(myMenuResources[2], menu);
			break;
		default:
			inflater.inflate(myMenuResources[0], menu);
			break;
		}
		return super.onCreateOptionsMenu(menu);
	}
	
	@Override
	public void onTabChanged(String tagString) {
		// TODO Auto-generated method stub
		if (tagString.equals("One")) {
			myMenuSettingTag = 1;
		}
		if (tagString.equals("Two")) {
			myMenuSettingTag = 2;
		}
		if (tagString.equals("Three")) {
			myMenuSettingTag = 3;
		}
		if (myMenu != null) {
			onCreateOptionsMenu(myMenu);
		}
	}
}
分享到:
评论

相关推荐

    横向和树形tab tab菜单

    在网页设计和开发中,"横向和树形tab菜单"是一种常见的用户界面元素,用于组织和展示大量信息。这种设计模式有效地利用空间,提供清晰的导航结构,帮助用户快速找到所需内容。以下是对这一主题的详细说明: 1. **...

    支持网页版的SSH 工具-Tabby介绍.docx

    支持网页版的SSH工具-Tabby介绍 Tabby是一个功能强大且易用的SSH工具,它提供了多平台支持、SFTP功能、炫酷的终端页面、插件支持等特性。下面是Tabby的详细介绍: 1. 多平台支持:Tabby提供了Windows、MacOS...

    Android垂直tab导航栏、左侧竖直tab导航栏

    在Android应用开发中,设计一个用户友好的界面是至关重要的,而Tab导航栏作为一种常见的界面元素,能够帮助用户轻松地在不同的内容区域之间切换。"Android垂直tab导航栏、左侧竖直tab导航栏"就是这样一个设计,它...

    纵向书签式Tab页

    【标题】:“纵向书签式Tab页”是一种创新的网页设计模式,它将传统的横向Tab页转换为垂直布局,提供了一种独特的用户交互体验。这种设计尤其适用于内容丰富的页面,可以更有效地利用屏幕空间,使用户能清晰地看到每...

    JavaScript实现tab栏切换效果

    JavaScript 实现的 Tab 切换效果是一种常见的网页交互设计,用于在不同的内容区域之间进行切换,通常用在页面顶部或侧边的导航菜单。在这个例子中,我们将详细讲解如何使用 JavaScript 和 CSS 实现这一功能。 首先...

    各种web的tab样式大全

    在Web开发中,Tab组件是一种常见的用户界面元素,它用于组织和展示大量信息,通过切换不同的选项卡,用户可以方便地在多个视图之间切换,而无需加载新的页面。本资源"各种web的tab样式大全"集合了多种Tab设计与实现...

    [QT]实现Tab键切换控件的两种方式及禁止Tab切换的简单方法

    在QT编程中,用户界面(UI)的交互性是至关重要的,Tab键的使用就是提升用户体验的一个关键元素。Tab键可以方便用户在不同控件之间快速切换,无需使用鼠标。本篇文章将深入探讨如何实现Tab键切换控件的两种方式以及...

    swing多tab页面板练习

    在Java的Swing库中,开发GUI应用程序时,我们经常需要用到多Tab的界面设计,这可以为用户提供清晰的模块划分,提高交互体验。本练习主要关注如何创建和管理多个Tab,利用`javax.swing.JTabbedPane`组件来实现这一...

    用CSS写的Tab滑动轮

    标题中的“用CSS写的Tab滑动轮”是指在网页设计中使用CSS来实现一种交互式的Tab切换效果。这种效果常见于各种网站,如导航菜单、内容展示等,它允许用户通过点击不同的Tab来切换显示不同的内容区域。CSS(Cascading ...

    ie tab插件 chrome

    IE Tab 这款插件对于Chrome的爱好者来说应该都不会感到陌生了。IE Tab插件的功能就是在Chrome浏览器中嵌入IE浏览器的内核,如果用户在用使用Chrome浏览过程中遇到只能兼容IE的网站,用户不需要从新在打开IE浏览器...

    13个css tab选项卡

    在网页设计中,CSS Tab选项卡是一种常见的交互元素,它允许用户通过点击不同的标签来查看或切换不同的内容区域。这种设计模式在很多网站上都能看到,例如设置面板、产品介绍等场景。本教程将深入探讨如何创建13种...

    Angular 动态添加 Tab 标签

    在 Angular 框架中,动态添加 Tab 标签是一种常见的需求,特别是在构建可扩展、模块化的应用时。本文将深入探讨如何利用 Angular 的 `ComponentFactoryResolver` 和其他核心服务来实现这一功能。 首先,我们需要...

    tabby macos 安装包

    Tabby是一款功能强大的终端模拟器,专为包括macOS在内的多种操作系统设计。它提供了一个现代化的界面,支持多种shell,并且具有高度可定制性,使用户能够根据个人需求调整终端的各项设置。在macOS上安装Tabby,可以...

    tab选项卡切换效果,tab选项卡内容宽度自适应

    在网页设计中,"tab选项卡切换效果"是一种常见的用户界面设计模式,它允许用户在有限的空间内查看和切换不同的内容区域。这种效果通常用于显示大量相关但互斥的信息,如产品详情、用户评论或者设置选项。在这个项目...

    彻底修复E4A编辑器tab崩溃插件

    在E4A开发过程中,编辑器的稳定性至关重要,但有时可能会遇到一些问题,比如“tab崩溃”现象。标题提到的“彻底修复E4A编辑器tab崩溃插件”就是为了解决这个特定问题而设计的。 在Windows 10操作系统中,有些用户在...

    同一页面多个Tab选项卡嵌套显示实例

    2. 内部Tab:在某个Tab的内容区域内,再次使用Tab结构创建子Tab,这些子Tab只在父Tab被选中时可见。 3. 事件处理:使用JavaScript或jQuery监听主Tab和子Tab的点击事件,根据用户选择更新内容区域。 4. 层级管理:...

    bootstrap-closable-tab tab可关闭组件

    这包括一个`<ul>`元素作为Tab导航,每个`<li>`元素代表一个Tab,`<a>`元素用于链接到对应的Tab内容,以及一个可选的`<button>`元素作为关闭按钮。 2. **CSS 样式**:为了美观,我们可能需要定制CSS样式,使关闭按钮...

    MFC tab控件的美化

    在Microsoft Foundation Class (MFC)库中,Tab控件是一种常用元素,用于在单一界面内组织多个视图或对话框。在默认情况下,MFC的Tab控件可能看起来较为普通,但通过自定义绘制(OwnerDraw)技术,我们可以实现对Tab...

    Tab选项卡切换代码.zip

    在网页设计中,Tab选项卡是一种常见的用户界面元素,它允许用户在有限的空间内浏览多个相关的视图或内容。Tab选项卡切换代码是用于实现这一功能的JavaScript代码,通常结合HTML和CSS一起工作,以创建交互式的选项...

    android实现两层tab嵌套

    在Android应用开发中,Tab布局通常用于展示多个相关的视图,让用户通过切换Tab来浏览不同的内容。本示例实现的是一个更复杂的两层Tab嵌套功能,即在一级Tab之间切换时,每个一级Tab下还可能包含多个二级Tab。这种...

Global site tag (gtag.js) - Google Analytics