1 概览
l TabWidget与TabHost。tab组件一般包括TabHost和TabWidget、FrameLayout,且TabWidget、FrameLayout属于TabHost。
l 是否继承TabActivity的问题
l 实现步骤。两种实现方式,一种是将每个Tab的布局嵌在TabHost中的FrameLayout中,每个Tab的内容布局与显示都在FrameLayout中进行,缺点是布局会显得很臃肿;一种是每个Tab从FrameLayout中独立出来,以Activity呈现,,这样使得每个Tab有单独的布局。
2 效果图
Widget在顶部的情形:
3 主要布局
3.1 TabMain布局
方式一:
<?xml version="1.0" encoding="utf-8"?><TabHost xmlns:android=""android:id="@+id/tabhost"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TabWidgetandroid:id="@android:id/tabs"android:layout_width="fill_parent"android:layout_height="60dip"android:layout_alignParentBottom="true"android:background="#424242" ></TabWidget><FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="fill_parent"android:layout_height="fill_parent" ><LinearLayoutandroid:id="@+id/theme"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/theme_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Tab1" /></LinearLayout><LinearLayoutandroid:id="@+id/wallpaper"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/wallpaper_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Tab2" /></LinearLayout><LinearLayoutandroid:id="@+id/iconbg"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/iconbg_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Tab3" /></LinearLayout><LinearLayoutandroid:id="@+id/screenlock"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/screenlock_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Tab4" /></LinearLayout><LinearLayoutandroid:id="@+id/effect"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/effect_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Tab5" /></LinearLayout></FrameLayout></RelativeLayout></TabHost>
方式二:
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android=""android:id="@android:id/tabhost"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/wcity_normal_bg" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1" ></FrameLayout><TabWidgetandroid:id="@android:id/tabs"android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/tab"/></LinearLayout></TabHost>
3.2 TabItem布局
这一部分中方式一与方式二没有什么区别,只有表示形式的区别。比如,根据需求,Tab可以
只以文字呈现,
可以只以图片呈现,
可以同时有图片和文字
吃东西,随便是什么——都可以。当日出越过山涧,我未老,你依然。