全国免费服务热线:

18982081108
✕

成都弹性云服务器,成都高防云服务器,互联网数据服务,成都祈钰瑶

Android学习——TabHost的使用一

TabHost是一种非常使用的组件,TabHost可以方便的在窗口上放置多个标签页,每个标签页相当于或得了一个与外部容器相同大小的组件摆放区域。

成都创新互联-专业网站定制、快速模板网站建设、高性价比象山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式象山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖象山地区。费用合理售后完善,十载实体公司更值得信赖。

与TabHost 结合使用的组件

 TabWidget:代表选项卡的标签条。

 TabSpec:代表选项卡的一个Tab页面。

创建添加选项卡的方法:

 newTabSpec():创建选项卡

 addTab():添加选项卡

使用TabHost的步骤:

  1. 在界面布局中定义TabHost组件

  2. Activity继承TabActivity

  3. 调用TabActivity的getTabHost()方法获取TabHost

  4. 通过TabHost对象的方法来创建添加选项卡。

     

    如果程序需要监控TabHost里当前标签页的改变,可以为他设置TabHost.onTabChangeListener 的监听器。

实例:1

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
   android:orientation="vertical"
    >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="毓璜顶小学"
        android:textSize="20sp"
        />
    </LinearLayout>
<TabHost
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:id="@android:id/tabhost"
    android:layout_weight="1"
    ><!--引用android系统已有的id-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"></TabWidget>
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <!--定义第一个标签页的内容-->
            <LinearLayout
                android:id="@+id/tab01"
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:text="消息页面"
                    android:textSize="30sp"
                    />
            </LinearLayout>
            <LinearLayout
                android:id="@+id/tab02"
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:text="班级页面"
                    android:textSize="30sp"
                    />
            </LinearLayout>
            <LinearLayout
                android:id="@+id/tab03"
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:text="我的页面"
                    android:textSize="30sp"
                    />
            </LinearLayout>
        </FrameLayout>

    </LinearLayout>
</TabHost>
</LinearLayout>

注意:

 android:id="@android:id/tabhost"
 android:id="@android:id/tabs"
 android:id="@android:id/tabcontent"
 引用android系统已有的id
public class MainActivity extends TabActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        //获取tabhost组件
        TabHost tabHost=getTabHost();
        //创建第一个Tab页
        TabHost.TabSpec tab1=tabHost.newTabSpec("tab1")
                .setIndicator("班级")//设置标题
                .setContent(R.id.tab01);
        //添加第一个tab页
        tabHost.addTab(tab1);
        TabHost.TabSpec tab2=tabHost.newTabSpec("tab2")
                .setIndicator("消息")//设置标题
                .setContent(R.id.tab02);
        //添加第一个tab页
        tabHost.addTab(tab2);

        TabHost.TabSpec tab3=tabHost.newTabSpec("tab3")
                .setIndicator("我")//设置标题
                .setContent(R.id.tab03);
        //添加第一个tab页
        tabHost.addTab(tab3);
    }
}

注意:最新版本的Android推荐使用Fragment 代替TabActivity

Android学习——TabHost的使用一