Android选项卡Activity实现完整代码



在Android应用开发中,创建一个具有选项卡切换功能的界面是常见的需求,这可以提供良好的用户体验,让用户能够方便地在不同的功能区域之间切换。本文将详细介绍如何使用`TabActivity`和`TabHost`来实现这样的功能,同时提供一个完整的代码示例。 **一、TabActivity与TabHost** `TabActivity`是Android SDK中早期用于实现选项卡功能的类,它是`Activity`的一个子类。`TabHost`则是一个容器,用于管理多个`TabSpec`(每个`TabSpec`代表一个选项卡),并负责显示对应的`View`或`Activity`。`TabHost`通常包含一个`TabWidget`(用于显示选项卡)和一个`FrameLayout`(用于显示被选中的内容)。 **二、实现步骤** 1. **设置布局文件** 你需要在XML布局文件中定义`TabHost`。例如: ```xml <TabHost android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> </TabHost> ``` 2. **初始化TabHost** 在`TabActivity`的`onCreate`方法中,初始化`TabHost`: ```java TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost); tabHost.setup(); ``` 3. **添加选项卡** 使用`TabHost`的`addTab`方法为每个选项卡添加`TabSpec`,并指定对应的`Intent`(可以是另一个`Activity`或`Fragment`): ```java TabSpec tab1 = tabHost.newTabSpec("标签1"); tab1.setIndicator("标签1标题", null); // 可以设置图标 tab1.setContent(new Intent(this, Tab1Activity.class)); // 替换为你的Activity TabSpec tab2 = tabHost.newTabSpec("标签2"); tab2.setIndicator("标签2标题", null); tab2.setContent(new Intent(this, Tab2Activity.class)); // 添加更多选项卡... tabHost.addTab(tab1); tabHost.addTab(tab2); ``` 4. **设置默认选中项** 如果需要设置默认选中的选项卡,可以调用`tabHost.setCurrentTab()`方法: ```java tabHost.setCurrentTab(0); // 设置第一个选项卡为默认选中 ``` **三、注意事项** - `TabActivity`在Android API 13后已被废弃,推荐使用`FragmentTabHost`(配合`Fragment`使用)或`ViewPager`(配合`TabLayout`使用)。然而,对于API级别较低的项目,`TabActivity`仍然是一个可行的选择。 - 如果`TabHost`中的每个选项卡都对应一个新的`Activity`,那么当用户切换选项卡时,新的`Activity`会被启动。这可能导致性能问题,因此通常建议使用`Fragment`来替换`Activity`,以保持更好的性能和内存管理。 **四、代码示例** 在提供的`UseTabItem`压缩包中,应该包含了完整的工程文件,包括`TabActivity`的实现、每个选项卡对应的`Activity`或`Fragment`以及相应的布局文件。导入这个工程到Android Studio,你可以直接运行查看效果,或者根据自己的需求进行修改。 通过理解和实践这个例子,你可以掌握如何在Android中创建一个基本的选项卡式界面。不过,为了遵循最新的Android开发最佳实践,建议你学习并使用现代的选项卡实现方式,如`FragmentTabHost`或`ViewPager`结合`TabLayout`。







































































































- 1

- 木川流2014-04-25如果有注释就更好啦,亲。。。
- u0110938372016-11-04如果有注释就更好
- renjielin2014-11-23赞一个,能直接用,谢谢了
- 莫道桑榆晚10242014-11-24该程序不错,帮我解决了大问题,赞一个

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 浅析计算机应用现状与计算机发展趋势.docx
- 华为交换机虚拟化解决方案.doc
- 物联网技术下计算机网络工程建设探讨.docx
- 浅析地热供暖项目管理的应用与发展.doc
- ascendc-api-adv-C语言资源
- “互联网+政务服务”平台建设招标文件.doc
- 浅述核电工程项目管理标准化.docx
- 计算机文化基础第二章WindowsXP操作系统.ppt
- 使用 TensorFlow 与 OpenCV 模拟自动驾驶系统
- 人事大数据统一平台打破部门协同壁垒.docx
- 网络信息化教育中教学互动实现及教学质量监控.docx
- 基于移动互联网的知识付费产品发展研究.docx
- 互联网+背景下开展普通高中体育教育教学的探究.docx
- 作品基于单片机的烟雾报警器方案设计书.doc
- 试论网络共同犯罪(1).docx
- 历中央电大PLC设计.doc


