TAB切换先上图,tab标题没有添加样式,因为setIndicator可以直接接收View,所以可以自己编辑样式:

也可以实现OnTabChangeListener监听tab的点击,改变tab点击后的样式风格

1、首先创建TabHost布局,TabActivity使用TabHost 为根目录,根目录必须使用ID:android:id="@android:id/tabhost"

窗体必须使用ID:android:id="@android:id/tabcontent"

Tab标题必须使用Id:android:id="@android:id/tabs"

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

 

2、创建Activity

package com.demo.tabactivity;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost; /**
* 这里实现继承tabActivity 实现tab页切换
* @author Administrator
*
*/
public class MainActivity extends TabActivity { TabHost tab_host; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabs);
//获得tabhost
tab_host = getTabHost();
//往tabhost添加tab,这里添加三个
createTabOne() ;
createTabTwo();
createTabThree();
} /**
* 添加的tab页,实现方式也可以实现TabContentFactory接口来创建tab
*/
public void createTabOne() {
//创建tab窗体
Intent intent = new Intent(MainActivity.this,OneActivity.class);
//添加到tabost,其中setIndicator为设置tab标题,可以自己编辑Tab标题的样式内容,包括文字货图标
tab_host.addTab(tab_host.newTabSpec("第一页").setIndicator("第一页", null).setContent(intent)); } /**
* 添加的tab页
*/
public void createTabTwo() {
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
tab_host.addTab(tab_host.newTabSpec("第二页").setIndicator("第二页", null).setContent(intent)); } /**
* 添加的tab页
*/
public void createTabThree() {
Intent intent = new Intent(MainActivity.this,ThreeActivity.class);
tab_host.addTab(tab_host.newTabSpec("第三页").setIndicator("第三页", null).setContent(intent)); }
}

  其中OneActivity,TwoActivity,ThreeActivity为普通继承Activity的窗体,就不贴代码了

 

最新文章

  1. JavaScript跨域调用、JSONP、CORS与ASP.NET Web API[共8篇]
  2. luogu[1140]相似基因
  3. 2012第二届GIS制图大赛——公开课技术问题&amp;答疑(珍贵资源哦!)(http://blog.csdn.net/arcgis_all/article/details/8216984)
  4. 检查ftp备份数据完整性及短信告警的shell脚本
  5. 基于TCP的NAT子网穿透实验
  6. SpringMVC+easyUI CRUD 添加数据C
  7. 查看.a架构文件
  8. Power Pivot表属性无法切换回表预览模式的问题
  9. CentOs7相对于CentOs6的常用命令变化
  10. ccbpm工作流引擎是怎样支持多种流程模式的
  11. java 线程 捕获异常
  12. 动态获取html页面的内容,并且取其中的某块元素的方法
  13. weblogic上服务器建立
  14. org.apache.commons.vfs 配置文件里面 密码包含 @
  15. tcp的粘包现象与解决方案
  16. 《Inside C#》笔记(七) Attribute
  17. 【BZOJ3240】【UOJ#124】【NOI2013】矩阵游戏
  18. Hyper-v UBUNTU 12.04 模板设置
  19. NOIP2017 逛公园 题解报告 【最短路 + 拓扑序 + dp】
  20. Python模块之: configobj(转)

热门文章

  1. mac攻略(六) -- mac根目录分析
  2. jQuery学习笔记(一)jQuery选择器
  3. 【前端】Three.js
  4. EX14 彩票中奖 (lottery.pas/c/cpp)
  5. mysql 数据库 表字段添加表情兼容
  6. MySQL 5.6 双机热备windows7
  7. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
  8. python走起之第六话
  9. c++第一天
  10. 远程连接redis