Android——TabWidget

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();
            }
        });

}
}

时间: 2024-12-03 10:40:29

Android——TabWidget的相关文章

Android中动态添加tab

来源过于啰嗦,这里只有简化后的. 转载请注明出处  http://www.cnblogs.com/zaiyuzhong/p/add-tab-dynamic-in-android.html 建立对应的布局配置:/res/layout/activity_main.xml <?xml version="1.0" encoding="utf-8"?> <TabHost android:layout_width="fill_parent"

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

viewPager是v4包里的一个组件,可以实现滑动显示多个界面. android也为viewPager提供了一个adapter,此adapter最少要重写4个方法: public int getCount() public boolean isViewFromObject(View view, Object o) public void destroyItem(ViewGroup container, int position, Object object)  public Object in

android之TabWidget选项卡

1 概览 l  TabWidget与TabHost.tab组件一般包括TabHost和TabWidget.FrameLayout,且TabWidget.FrameLayout属于TabHost. l  是否继承TabActivity的问题 l  实现步骤.两种实现方式,一种是将每个Tab的布局嵌在TabHost中的FrameLayout中,每个Tab的内容布局与显示都在FrameLayout中进行,缺点是布局会显得很臃肿:一种是每个Tab从FrameLayout中独立出来,以Activity呈现

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

原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 TabActivity在API13之后被fragment替代了,所以不建议使用 效果:点击头像标签,进行切换. 代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/r

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

注:本文为转载,但该内容本人已亲身尝试,确认该方法可行,代码有点小的改动,转载用作保存与分享. 原作者地址:http://gundumw100.iteye.com/blog/853967 个人吐嘈:据说TabWidget已经过时了,取而代之的是Fragment,但关于这个Fragment暂时还没时间研讨,现使用的是TabWidget方法,个人感觉实现出来的效果还是很不错的. 自定义TabHost:不用继承TabActivity,具体代码如下: 定义布局文件:activity_main.xml <

Android 自定义TabHost,TabWidget样式

界面比较简单,要想做得漂亮换几张图片就可以了. 第一步:先在布局(这里用了main.xml创建时自动生成的)里面放上TabHost ,只要将TabHost控件托至屏幕中就可: <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id

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

更改TabHost里的第一个LinearLayout为RelativeLayout.并在TabWidget中添加android:layout_alignParentBottom="true" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android

【Android基础篇】TabWidget设置背景和字体

在使用TabHost实现底部导航栏时,底部导航栏的三个导航按钮无法在布局文件里进行定制,比如设置点击时的颜色.字体的大小及颜色等,这里提供了一个解决办法,就是在代码里进行定制. 思路是在Activity里给TabHost添加了分页后,在给导航栏TabWidget的导航按钮逐个添加特效(必须先添加分页,然后才能定制按钮,添加了一个分页,才会生成一个按钮). 下面是布局文件activity_main.xml,包含了TabHost,里面有三个只显示了文字的分页 <RelativeLayout xmln

修炼-------------Android TabHost,TabWidget选项卡总结

修炼-------------Android TabHost,TabWidget选项卡总结 Android之TabHost TabHost,个人理解为选项卡的容器,是一种特殊的FrameLayout布局(帧布局) 根据SDK文档, Container for a tabbed window view. This object holds two children: a set of tab labels that the user clicks to select a specific tab,