Tab选项卡类似与电话本的界面,通过多个标签切换不同的内容,要实现这个效果,首先要知道TabHost,它是一个用来存放多个Tab标签的容器,每一个Tab都可以对应自己的布局,比如,电话本中的Tab布局就是一个线性布局
要使用TabHost,首先要通过getTabHost方法获取TabHost的对象,然后通过addTab方法来向TabHost中添加Tab,当然每个Tab在切换时都会产生一个事件,要捕捉这个事件,需要设置TabActivity的事件监听setOnTabChangedListener
下面是个小例子:
TabTest.java
package org.hualang.tab;
import android.app.Activity;
import android.app.TabActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.Toast;
import android.widget.TabHost.OnTabChangeListener;
public class TabTest extends TabActivity {
/** Called when the activity is first created. */
TabHost tabhost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//取得TabHost对象
tabhost = getTabHost();
//为TabHost添加标签
//新建一个newTabSpec(newTabSpec)
//设置其标签和图标(setIndicator)
//设置内容(setContent)
tabhost.addTab(tabhost.newTabSpec("tab1")
.setIndicator("TAB 1",getResources().getDrawable(R.drawable.img1))
.setContent(R.id.text1));
tabhost.addTab(tabhost.newTabSpec("tab2")
.setIndicator("TAB 2",getResources().getDrawable(R.drawable.img2))
.setContent(R.id.text2));
tabhost.addTab(tabhost.newTabSpec("tab3")
.setIndicator("TAB 3",getResources().getDrawable(R.drawable.img3))
.setContent(R.id.text3));
//设置TabHost的背景颜色
//tabhost.setBackgroundColor(Color.argb(150,22,70,150));
//设置TabHost的背景图片资源
tabhost.setBackgroundResource(R.drawable.bg0);
//设置当前显示哪个标签
tabhost.setCurrentTab(0);
//标签切换事件处理,setOnTabChangedListener
tabhost.setOnTabChangedListener(new OnTabChangeListener()
{
public void onTabChanged(String tabId)
{
Toast toast=Toast.makeText(getApplicationContext(), "现在是"+tabId+"标签", Toast.LENGTH_SHORT);
toast.show();
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="选项卡1" />
<TextView
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="选项卡2" />
<TextView
android:id="@+id/text3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="选项卡3" />
</FrameLayout>
</LinearLayout>
</TabHost>
运行效果如下:
- 大小: 59 KB
分享到:
相关推荐
•Android---UI篇---TabWidget(切换卡) • •Android---UI篇---LinearLayout(线性布局) • •Android---UI篇---WebView(网络视图) • •Andorid---UI篇---两种进度条(ProgressBar) • •Android---UI篇---...
但`TabHost`和`TabWidget`仍然是理解Android UI体系结构的基础,对于学习Android开发是很有帮助的。 在`MyTabHost`这个项目中,你可能会看到一个完整的`TabHost`和`TabWidget`的示例实现,包括XML布局文件和对应的...
在Android开发中,`TabWidget`是一个非常常用的控件,它允许用户在多个视图间进行切换,通常与`ViewPager`结合使用,实现类似标签页的功能。`TabWidget`是Android早期版本中的一种布局组件,而在现代Android开发中,...
本篇将深入解析如何在Android项目中使用TabWidget,以及其背后的源码工作原理。 一、TabWidget的基本使用 TabWidget通常与FrameLayout或ViewPager结合使用,实现标签页的切换。首先,在布局文件中添加TabWidget和...
`TabWidget`显示选项卡,`FrameLayout`(通常命名为`android.R.id.tabspec`)用于显示每个选项卡对应的内容。 - 要使用`TabHost`,首先需要继承`TabActivity`,然后通过`getTabHost()`获取`TabHost`实例。 - 使用`...
本文实例讲述了Android切换卡TabWidget用法。分享给大家供大家参考,具体如下: Tab选项卡类似与电话本的界面,通过多个标签切换不同的内容,要实现这个效果,首先要知道TabHost,它是一个用来存放多个Tab标签的容器...
在QT编程中,`QTabWidget` 是一个非常常用的组件,用于展示多个窗口或视图,每个窗口或视图被组织成独立的标签页。在实际应用中,我们经常需要自定义这些标签页的外观,比如改变它们的颜色,以及设置选中时的颜色...
这个“android tabhost --android UI源码.rar”压缩包文件很可能是包含了一些示例代码或者详细讲解TabHost使用的源码项目。通过分析和学习这些源码,我们可以深入了解TabHost的工作原理以及如何在实际应用中有效利用...
在本教程中,我们将深入探讨如何使用`TabWidget`来构建一个简单的切换卡demo。 首先,让我们了解`TabWidget`的基本用法。在布局XML文件中,你需要添加`TabHost`和`TabWidget`元素。`TabHost`作为容器,它将包含`...
8. **TabWidget(切换卡)**: TabWidget常与ViewPager结合使用,创建可滑动的标签页布局。每个标签对应一个Fragment,提供多页面内容的切换。 9. **ListView之SampleAdapter(列表)**: ListView是显示大量数据...
标题“切换卡(TabWidget)”表明我们将讨论如何利用`TabWidget`来实现标签页式界面。 在Android布局文件中,`TabWidget`是用来放置各个标签的容器,而每个标签则对应一个单独的界面或视图。描述中提到,“使用...
总之,这个“android tabhost --android UI源码”项目是学习Android开发中TabHost组件的宝贵资源,对于初次接触Android应用开发的学生来说,是理解和实践Android界面设计的好材料。通过深入研究这个源码,不仅可以...
在本文中,我们将深入探讨如何使用Qt库来创建一个仿照谷歌浏览器Tab标签页的定制化TabWidget。这个Demo项目展示了如何实现新旧两种不同风格的谷歌浏览器标签,旨在为用户提供更加直观和舒适的界面体验。Qt是一个跨...
在"android tabhost --android UI源码.zip"这个压缩包中,你将找到有关如何实现和自定义TabHost的源代码示例。 1. **TabHost组件**: TabHost是Android提供的一个容器,用于管理多个TabWidget和一个内容显示区域...
在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个选项卡的用户界面,每个选项卡都可以关联到一个不同的活动或视图。这个“Android - TabHost选项卡示例源码”提供了一个实例,帮助开发者更好地理解...
这个压缩包"Android源码——android tabhost --android UI源码.zip"可能包含了一些示例代码,图片资源以及关于如何使用TabHost的解释。 首先,我们来深入理解TabHost的工作原理。TabHost是一个容器,它管理着多个...
本文将深入探讨如何在Android应用中实现TabWidget的切换卡功能,以及涉及到的关键组件和技术。 首先,我们需要理解TabHost的角色。TabHost是一个容器,它能容纳多个Tab标签,并管理这些标签与对应的活动或布局之间...