1、activity_tabwidget.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:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

<TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
        </TabWidget>

<FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

<TextView
                android:id="@+id/tb_tv1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="This is the first tab" />

<TextView
                android:id="@+id/tb_tv2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="This is another tab" />

<TextView
                android:id="@+id/tb_tv3"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="This is the third tab" />
        </FrameLayout>
    </LinearLayout>

</TabHost>

2、TabWidgetActivity.java

public class TabWidgetActivity extends TabActivity {
    // 声明TabHost对象
    TabHost tabHost;

@SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tabwidget);
        try {

// 取得TabHost对象
            tabHost = getTabHost();
            /* 为TabHost添加标签 */
            // 新建一个newTabSpec(newTabSpec)
            // 设置其标签和图标(setIndicator)
            // 设置内容(setContent)
            tabHost.addTab(tabHost
                    .newTabSpec("tab_test1")
                    .setIndicator("TAB1",
                            getResources().getDrawable(R.drawable.button1))
                    .setContent(R.id.tb_tv1));
            tabHost.addTab(tabHost
                    .newTabSpec("tab_test2")
                    .setIndicator("TAB2",
                            getResources().getDrawable(R.drawable.button2))
                    .setContent(R.id.tb_tv2));
            tabHost.addTab(tabHost.newTabSpec("tab_test3").setIndicator("TAB3",
                    getResources().getDrawable(R.drawable.button3)).setContent(R.id.tb_tv3));
        
        // 设置TabHost的背景颜色
        tabHost.setBackgroundColor(Color.argb(150, 22, 70, 150));
        // 设置TabHost的背景图片资源
        tabHost.setBackgroundResource(R.drawable.ic_launcher);
        // 设置当前显示那一个标签
        tabHost.setCurrentTab(0);
        } catch (Exception e) {
            e.printStackTrace();
        }
        // 标签切换事件处理
        tabHost.setOnTabChangedListener(new OnTabChangeListener() {

@Override
            public void onTabChanged(String tabId) {
                Dialog dialog = new AlertDialog.Builder(TabWidgetActivity.this)
                        .setTitle("提示")
                        .setMessage("当前选中" + tabId + "标签")
                        .setPositiveButton("确定",
                                new DialogInterface.OnClickListener() {

@Override
                                    public void onClick(DialogInterface dialog,
                                            int whichButton) {
                                        dialog.cancel();
                                    }
                                }).create();
                dialog.show();
            }
        });

}
}

Android——TabWidget的更多相关文章

  1. Android TabWidget底部显示

    TabHost控件默认使用LinearLayout包裹TabWidget和FrameLayout,布局文件如下: <TabHost xmlns:android="http://sche ...

  2. ANDROID中去掉ACTIONBAR或TABWIDGET的分隔线

    在android中,有时需要对ActionBar或者TabWidget的分隔线进行定制,如取消,相关的属性设置为android:divider 以TabWidget为例,取消对应的函数: tabWid ...

  3. Android 实现分页(使用TabWidget/TabHost)

    注:本文为转载,但该内容本人已亲身尝试,确认该方法可行,代码有点小的改动,转载用作保存与分享. 原作者地址:http://gundumw100.iteye.com/blog/853967 个人吐嘈:据 ...

  4. Android Tab -- 使用TabWidget、TabHost、TabActivity来实现

    原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 TabActivity在API13之后被fragment替代了,所以不建议使用 ...

  5. android开发之如何使TabHost的TabWidget位于屏幕下方

    更改TabHost里的第一个LinearLayout为RelativeLayout.并在TabWidget中添加android:layout_alignParentBottom="true& ...

  6. Android:简单实现ViewPager+TabHost+TabWidget实现导航栏导航和滑动切换

    viewPager是v4包里的一个组件,可以实现滑动显示多个界面. android也为viewPager提供了一个adapter,此adapter最少要重写4个方法: public int getCo ...

  7. android自定义TabWidget样式

    先看看效果图吧,个人觉得图标丑了点,不过还行,自己用PS做的 下面是全部代码和流程,一定要按流程顺序来,不然错误! 1.tabhost.xml <TabHost xmlns:android=&q ...

  8. Android TabHost TabWidget 去除黑线(底部下划线)

    采用TabHost布局时,往往会发现默认的系统风格与软件风格很不协调,比如TabWidget的下划线影响布局效果.通常情况下会去除其下划线.如果是采用xml布局文件,在TabWidget的属性项设置a ...

  9. android之TabWidget选项卡

    1 概览 l  TabWidget与TabHost.tab组件一般包括TabHost和TabWidget.FrameLayout,且TabWidget.FrameLayout属于TabHost. l  ...

随机推荐

  1. Linux启动过程详解 (转)

    启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘 ...

  2. MySQL在一台db服务器上面如何启动多个实例 (转)

    安装过程省略过,源码安装请参考http://write.blog.csdn.net/postlist/1609043/all 整理自己的文档,发现以前做的例子,share下,欢迎大家提出改进意见. 一 ...

  3. hadoop(五): shell命令

    hdfs dfs -cat URI : 查看文件内容 hdfs dfs -cat hdfs dfs -cat hdfs://mycluster/user/root/rcc1 hdfs dfs -cat ...

  4. 给Jquery动态添加的元素添加事件2

    $('div').on('click', 'button', function(e){console.log($(e.target).is(':button'))}); $('<button&g ...

  5. php测试程序运行时间和占用内存情况

    php测试程序运行时间和占用内存情况: $HeaderTime = microtime(true);//参数true表示返回浮点数值 /** *CODE */ printf(" total ...

  6. Oracle-decode函数

    decode函数 简单例子:管理员登录Oracle select sid, username, decode(command, 0, 'None', 2, 'Insert', 3, 'Select', ...

  7. PHP转换UTF-8和GB2312的URL编码(转)

    目前WEB的应用中, UTF-8编码和GB2312编码是并存在的,例如百度(baidu.com)和谷歌(google.com)的URL编码分别是GB2312编码和UTF-8编码.由于编码并存引起的乱码 ...

  8. RMAN_学习实验2_RMAN Duplicate复制数据库过程(案例)

    待整理 对于基于生产环境下的数据库的版本升级或者测试新的应用程序的性能及其影响,备份恢复等等,我们可以采取从生产环境以克隆的方式将其克隆到本地而不影响生产数据库的正常使用.实现这个功能我们可以借助rm ...

  9. 把vector中的string对象导入到字符指针数组中

    #include <iostream>#include <string>#include <vector>//#include <cctype>#inc ...

  10. oracle 运维基础

    setupDatabase() { runStr=" cd $BASE_INSTALL_DIR/database nohup ./runInstaller -silent -force -r ...