`
龙哥IT
  • 浏览: 254131 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

自定义menu替代TabHost中的TabWidget

 
阅读更多

布局xml

<?xml version="1.0" encoding="UTF-8"?>
<TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent"
	android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
	<LinearLayout android:orientation="vertical"
		android:layout_width="fill_parent" android:layout_height="fill_parent">
		<FrameLayout android:id="@android:id/tabcontent"
			android:layout_width="fill_parent" android:layout_height="0.0dip"
			android:layout_weight="1.0" />
		<TabWidget android:id="@android:id/tabs" android:visibility="gone"
			android:layout_width="fill_parent" android:layout_height="wrap_content"
			android:layout_weight="0.0" />

		<LinearLayout android:id="@+id/all" android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:gravity="bottom" 
			android:background="@drawable/down_title">


			<LinearLayout android:id="@+id/linear_score"
				android:layout_width="wrap_content" android:layout_height="wrap_content"
				android:orientation="vertical" android:layout_weight="1">
				<RelativeLayout android:layout_width="wrap_content"
					android:layout_height="wrap_content" android:orientation="vertical"
					android:layout_weight="1" android:layout_gravity="center_vertical">
					<ImageView android:id="@+id/back_score"
						android:layout_width="wrap_content" android:layout_height="wrap_content"
						android:src="@drawable/bottom_backs" android:visibility="invisible" />
					<LinearLayout android:layout_width="wrap_content"
						android:layout_centerVertical="true" android:layout_height="wrap_content"
						android:orientation="vertical" android:paddingLeft="17dip">
						<ImageView android:id="@+id/image_score"
							android:layout_width="wrap_content" android:layout_height="wrap_content"
							android:src="@drawable/image_score" android:layout_weight="1"
							android:layout_gravity="center_horizontal" />
						<TextView android:layout_width="wrap_content"
							android:layout_gravity="center_horizontal" android:layout_height="wrap_content"
							android:text="比分" android:layout_weight="1" 
							style="@style/bottom_title"/>
					</LinearLayout>
				</RelativeLayout>
			</LinearLayout>


			<LinearLayout android:id="@+id/linear_attention"
				android:layout_width="wrap_content" android:layout_height="wrap_content"
				android:orientation="vertical" android:layout_weight="1">
				<RelativeLayout android:layout_width="wrap_content"
					android:layout_height="wrap_content" android:orientation="vertical"
					android:layout_weight="1">
					<ImageView android:id="@+id/back_attention"
						android:layout_width="wrap_content" android:layout_height="wrap_content"
						android:src="@drawable/bottom_backs" android:visibility="invisible" />
					<LinearLayout android:layout_width="wrap_content"
						android:layout_centerVertical="true" android:layout_height="wrap_content"
						android:orientation="vertical" android:layout_weight="1"
						android:paddingLeft="17dip">
						<ImageView android:id="@+id/image_attention"
							android:layout_width="wrap_content" android:layout_height="wrap_content"
							android:src="@drawable/image_attention" android:layout_weight="1"
							android:layout_gravity="center" />
						<TextView android:layout_width="wrap_content"
							android:layout_height="wrap_content" android:text="关注"
							android:layout_weight="1" android:layout_gravity="center"
							style="@style/bottom_title" />
					</LinearLayout>
				</RelativeLayout>
			</LinearLayout>


			<LinearLayout android:id="@+id/linear_odds"
				android:layout_width="wrap_content" android:layout_height="wrap_content"
				android:orientation="vertical" android:layout_weight="1">
				<RelativeLayout android:layout_width="wrap_content"
					android:layout_height="wrap_content" android:orientation="vertical"
					android:layout_weight="1">
					<ImageView android:id="@+id/back_odds"
						android:layout_width="wrap_content" android:layout_height="wrap_content"
						android:src="@drawable/bottom_backs" android:visibility="invisible" />
					<LinearLayout android:layout_width="wrap_content"
						android:layout_centerVertical="true" android:layout_height="wrap_content"
						android:orientation="vertical" android:layout_weight="1"
						android:paddingLeft="10dip">
						<ImageView android:id="@+id/image_odds"
							android:layout_width="wrap_content" android:layout_height="wrap_content"
							android:src="@drawable/image_odds" android:layout_weight="1"
							android:layout_gravity="center" />
						<TextView android:layout_width="wrap_content"
							android:layout_height="wrap_content" android:text="聊天室"
							android:layout_weight="1" android:layout_gravity="center" 
							style="@style/bottom_title"/>
					</LinearLayout>
				</RelativeLayout>
			</LinearLayout>


			<LinearLayout android:id="@+id/linear_choiseleague"
				android:layout_width="wrap_content" android:layout_height="wrap_content"
				android:orientation="vertical" android:layout_weight="1">
				<RelativeLayout android:layout_width="wrap_content"
					android:layout_height="wrap_content" android:orientation="vertical"
					android:layout_weight="1">
					<ImageView android:id="@+id/back_choiseleague"
						android:layout_width="wrap_content" android:layout_height="wrap_content"
						android:src="@drawable/bottom_backs" android:visibility="invisible" />
					<LinearLayout android:layout_width="wrap_content"
						android:layout_centerVertical="true" android:layout_height="wrap_content"
						android:orientation="vertical" android:layout_weight="1"
						android:gravity="center_horizontal" android:paddingLeft="17dip">
						<ImageView android:id="@+id/image_choiseleague"
							android:layout_width="wrap_content" android:layout_height="wrap_content"
							android:src="@drawable/image_choiseleague" android:layout_weight="1" />
						<TextView android:layout_width="wrap_content"
							android:layout_height="wrap_content" android:text="论坛"
							android:layout_weight="1" android:layout_gravity="center" 
							style="@style/bottom_title"/>

					</LinearLayout>
				</RelativeLayout>
			</LinearLayout>


			<LinearLayout android:id="@+id/linear_more"
				android:layout_width="wrap_content" android:layout_height="wrap_content"
				android:orientation="vertical" android:layout_weight="1">
				<RelativeLayout android:layout_width="wrap_content"
					android:layout_height="wrap_content" android:orientation="vertical"
					android:layout_weight="1">
					<ImageView android:id="@+id/back_more"
						android:layout_width="wrap_content" android:layout_height="wrap_content"
						android:src="@drawable/bottom_backs" android:visibility="invisible" />
					<LinearLayout android:layout_width="wrap_content"
						android:layout_centerVertical="true" android:layout_height="wrap_content"
						android:orientation="vertical" android:layout_weight="1"
						android:gravity="center" android:paddingLeft="17dip">
						<ImageView android:id="@+id/image_more"
							android:layout_width="wrap_content" android:layout_height="wrap_content"
							android:src="@drawable/image_more" android:layout_weight="1"
							android:layout_gravity="center" />
						<TextView android:layout_width="wrap_content"
							android:layout_height="wrap_content" android:text="更多"
							android:layout_weight="1" android:layout_gravity="center"
							style="@style/bottom_title" />
					</LinearLayout>
				</RelativeLayout>
			</LinearLayout>
		</LinearLayout>
	</LinearLayout>
</TabHost>  

 

 

 

首先,类要继承TabActivity类和实现onclick方法

MainActivity extends TabActivity implements OnClickListener

 添加选项卡

// 实例化TabHost
TabHost mHost = this.getTabHost();

// 添加选项卡
		mHost.addTab(mHost.newTabSpec("ONE").setIndicator("ONE").setContent(
				new Intent(this, ScoreActivity.class)));
		mHost.addTab(mHost.newTabSpec("TWO").setIndicator("TWO").setContent(
				new Intent(this, FollowActivity.class)));
		mHost.addTab(mHost.newTabSpec("THREE").setIndicator("THREE")
				.setContent(new Intent(this, ChatRoomActivity.class)));
		mHost.addTab(mHost.newTabSpec("FOUR").setIndicator("FOUR").setContent(
				new Intent(this, ForumActivity.class)));
		mHost.addTab(mHost.newTabSpec("FIVE").setIndicator("FIVE").setContent(
				new Intent(this, MoreMenuActivity.class)));

 

然后操作每个选项卡点击事件

		linear_score.setOnClickListener(this);
		linear_attention.setOnClickListener(this);
		linear_odds.setOnClickListener(this);
		linear_choiseleague.setOnClickListener(this);
		linear_more.setOnClickListener(this);

 

public void onClick(View view) {
		switch (view.getId()) {
		case R.id.linear_score:
			mHost.setCurrentTabByTag("ONE");
						break;
		case R.id.linear_attention:
			mHost.setCurrentTabByTag("TWO");
						break;
		case R.id.linear_odds:
			mHost.setCurrentTabByTag("THREE");
						break;
		case R.id.linear_choiseleague:
			mHost.setCurrentTabByTag("FOUR");
						break;
		case R.id.linear_more:
			mHost.setCurrentTabByTag("FIVE");
						break;
		}
	}

 然后进行每个选项卡所对应的类操作就OK了

  • 大小: 6.5 KB
分享到:
评论

相关推荐

    TabHost自定义样式 自定义TabWidget

    - 如果不想启动新的Activity,而是直接在TabHost内展示自定义的View,可以在`TabSpec`中使用`setContent()`方法传入一个View对象。这个View可以是预先创建好的,也可以是动态生成的。 - 通过这种方式,可以创建更...

    TabHost+TabWidget+FrameLayout实现底部菜单

    `TabHost`是Android中的一个容器类,它负责管理`TabWidget`和`FrameLayout`,并提供切换标签页的功能。`TabHost`的工作原理是将`TabWidget`和`FrameLayout`组合在一起,`TabWidget`显示标签,而`FrameLayout`则用于...

    Android_TabHost_TabWidget选项卡总结

    在Android开发中,`TabHost`和`TabWidget`是构建多标签界面的重要组件,用于创建具有选项卡式导航的应用程序。`TabHost`作为容器,管理着`TabWidget`和一个`FrameLayout`,而`TabWidget`则是展示选项卡的控件。 1. ...

    Android入门第十一篇之TabHost,TabWidget.docx

    TabHost的职责是协调TabWidget中的各个Tab和与之相关联的活动或视图。在XML布局文件中,TabHost通常作为根元素,通过`&lt;TabHost&gt;`标签定义,并设置`android:id`为`@android:id/tabhost`。 TabWidget则负责显示各个...

    自定义TabWidget的TabHost

    在Android开发中,TabWidget和TabHost是用于创建具有多个选项卡界面的常用组件。本文将深入探讨如何自定义TabWidget的TabHost,以便为用户提供更丰富的交互体验。首先,让我们了解一下这两个组件的基本概念。 ...

    Android程序开发之自定义设置TabHost,TabWidget样式

    在Android程序开发中,自定义TabHost和TabWidget的样式是一项常见的任务,用于创建类似京东商城和新浪微博底部菜单栏的效果。TabHost和TabWidget是Android SDK提供的组件,用于实现多标签界面,让用户能够轻松地在...

    Android TabHost TabWidget 切换卡

    在Android开发中,`TabHost`和`TabWidget`是两个关键组件,它们常用于创建具有多标签(或称为卡片)界面的应用。这样的设计允许用户通过点击不同的标签来浏览和切换不同的视图或功能模块。下面我们将深入探讨这两个...

    android使用了自定义button自定义tabHost切换页面Demo

    在“自定义tabhost使用了不同默认的上标签切换页面”这一描述中,我们可以理解为每个Tab可能展示不同的内容,而这些内容可能是通过不同的Activity或Fragment来实现的。当用户点击不同的Tab时,TabHost会根据预设的...

    自定义Android的TabHost控件样式

    通过在`AndroidManifest.xml`或Activity的`onCreate()`方法中指定自定义主题,可以全局改变TabHost的样式。 - 例如,创建一个名为`@style/CustomTabHostTheme`的主题,然后在Activity中使用`setTheme(R.style....

    Android入门之TabHost与TabWidget实例解析

    在实际应用中,TabHost和TabWidget的使用可以更加复杂,包括自定义标签的外观、监听标签切换事件、动态添加或删除标签等。但是,对于初学者来说,理解基础的使用方法是至关重要的,这将帮助他们构建多页面的应用,...

    自定义Android中TabHost组件显示在屏幕底部,并实现滑动切换页面(源码下载)

    在XML布局文件中,我们通常会将TabHost设置为根元素,然后在其中嵌套TabWidget和FrameLayout。 为了使TabHost显示在屏幕底部,我们需要对布局进行调整。在XML布局文件中,可以使用`android:layout_gravity="bottom...

    TabHostExample:使用XML TabHost和TabWidget的Android Tab示例

    在Android开发中,TabHost和TabWidget是构建多标签界面的常用组件,它们允许用户在不同的活动或视图之间切换,提供类似浏览器标签页的体验。`TabHostExample`是一个典型的示例,展示了如何通过XML配置来实现TabHost...

    自定义Android中TabHost组件显示在屏幕底部 并实现滑动切换

    在Android开发中,TabHost组件通常用于创建带有多个Tab标签的应用界面,每个标签代表一个不同的内容区域。在标准布局中,TabHost通常显示在屏幕顶部,但为了满足特定设计需求,有时我们需要将其调整到屏幕底部并实现...

    TabHost中填充自定义ListView

    在Android开发中,`TabHost` 是一个非常重要的组件,用于实现多标签页面的切换,而将自定义的`ListView`填充到`TabHost`中则可以构建出复杂的交互界面。下面我们将详细探讨如何实现这一功能。 首先,我们需要了解`...

    android--自定义TabHost

    - 在布局文件(如`activity_main.xml`)中,你会看到TabHost、TabWidget和FrameLayout的定义,以及可能存在的自定义TabIndicator布局。 - `onCreate()`方法中,实例化并初始化自定义的TabHost,添加自定义的标签和...

    Android自定义view解决TabWidget 的下方的横线(Strip)颜色问题

    首先,`TabWidget`是Android原生提供的一种用于展示多个选项卡的组件,通常在TabHost中使用。默认情况下,`TabWidget`的条纹(Strip)颜色是系统主题的颜色,但可能不满足所有设计要求。因此,我们可以通过创建一个...

    自定义TabHost最简Demo源代码

    压缩包中的`MyTabHost`文件可能是项目的主类,它继承自`Activity`,并实现了上述的自定义`TabHost`设置。在这个类中,会找到初始化`TabHost`、设置`TabSpec`以及添加监听器的相关代码。 7. **运行与测试** 在完成...

    自定义TabHost实现

    在本教程中,我们将深入探讨如何自定义`TabHost`,实现图片和文字的切换,以及如何根据需求自由定义变更。 首先,我们需要了解`TabHost`的基本结构。`TabHost`由两部分组成:`TabWidget`和`FrameLayout`。`...

Global site tag (gtag.js) - Google Analytics