在Android中实现选项卡的效果可以通过两种方式:在布局文件中引用TabHost,在Activity中通过Id获取TabHost的实例,或者直接继承TabActivity,直接获取TabHost的实例。
程序主要代码如下:
1、布局文件tab.xml,在布局文件中需要注意的是:如果TabHost标签中引用TabWidget标签,则必须设置其android:id="@android:id/tabs",而FrameLayout标签的id必须设置为:android:id="@android:id/tabcontent",否则会出现空指针异常。
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- set the tab title attributes and set the title
align the bottom -->
<TabWidget
android:id="@android:id/tabs"
android:layout_alignParentBottom="true" //这
条语句的作用是把TabWidget设置到屏幕的下方,默认在屏幕上方。
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</TabWidget>
<!-- set the tab body attributes -->
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/tab1"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="20dip">
<ImageView