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. 服饰行业淘宝商城店铺首页设计报告-转载自http://bbs.paidai.com/topic/88363

    店铺的设计 和 美工是2个完全不同的工作. 很多中小卖家,往往会模糊他们之间的差别. 好比要建造一座金茂大厦,先要有建筑设计师设计图纸,明确好建造的楼层数,具体框架结构,所用材料等等. 然后建筑施工队 ...

  2. spring-boot支持双数据源mysql+mongo

    这里,首先想说的是,现在的web应用,处理的数据对象,有结构化的,也有非结构化的.同时存在.但是在spring-boot操作数据库的时候,若是在properties文件中配置数据源的信息,通过默认配置 ...

  3. JSON.stringify(),JSON.parse(),toJSON()方法使用

    JSON.stringify(),将value(Object,Array,String,Number...)序列化为JSON字符串    JSON.parse(), 将JSON数据解析为js原生值   ...

  4. jQuery图片无缝滚动JS代码ul/li结构

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. SPOJ #453. Sums in a Triangle (tutorial)

    It is a small fun problem to solve. Since only a max sum is required (no need to print path), we can ...

  6. SPOJ #442 Searching the Graph

    Just CS rookie practice on DFS\BFS. But details should be taken care of: 1. Ruby implementation got ...

  7. Learning Puppet — Resources and the RAL

    Learning Puppet — Resources and the RAL Welcome to Learning Puppet! This series covers the basics of ...

  8. git设置代理

    git config --global https.proxy http://127.0.0.1:1080 git config --global https.proxy https://127.0. ...

  9. erlang尾递归的概括

    网上看了些,自己总结了下 .没有局部变量,否则会爆栈 .递归函数的参数里面,至少有一个用来作为循环,另外一个一般用来保存临时结果,两者一起形成循环

  10. 验证视图状态 MAC 失败

    起因: 最近在做一个项目需要用到生成多个Html页,采用一下方法动态生成. WebRequest request = WebRequest.Create(pageurl); WebResponse r ...