Android —— Tabhost选项卡的使用

时间:2021-12-31 18:37:42

Tabhost就是平时常见的选项卡控件,如下所示:

Android —— Tabhost选项卡的使用

这样的选项卡控件,已经集成了点击切换的功能,编写界面的人员只需要编写每个选项卡和选项卡代表的内容即可


1)常用组件如下所示:

Android —— Tabhost选项卡的使用

TabWidget:该组件就是Tabhost标签页中的按钮,点击这些按钮可以切换选项卡,以切换显示的内容

FrameLayout:该组件就是放置每个选项卡所显示的内容的控件,如图所示,4个选项卡分别对应4个LinearLayout,每个LinearLayout的id就表示该内容对应的选项卡

这两个组件是tabhost的必备组件,缺一不可

 

(2)使用步骤

定义布局 : XML文件中使用TabHost组件,并在其中定义一个FrameLayout来显示选项卡内容;

继承TabActivity : 显示选项卡组件的Activity继承TabActivity;

获取组件 : 通过调用getTabHost()方法,获取TabHost对象;

创建添加选项卡 : 通过TabHost创建添加选项卡;

 

布局文件

Tabhost

getHost()获取前提 :设置了该tabhost的id为默认:android:id="@id/tabhost"之后,才可以 Activity界面可以使用getHost(), 获取这个TabHost视图对象

如果自定义了tabhost的id,如android:id="@+id/mytabhost"之类的,则必须使用findViewbyID()才能获得tabhost

 

TabWidget

TabHost必备组件 :该组件与FrameLayout组件是TabHost组件中必备的两个组件;

切换按钮下方显示 : 如果想要将按钮放到下面,可以将该组件定义在下面,但是注意,FrameLayout要设置android:layout_widget = "1"; 

设置TabWidget大小 :如果想要设置该按钮组件的大小,可以设置该组件与FrameLayout组件的权重

 

FrameLayout

组件作用 : 该组件中定义的子组件是TabHost中每个页面显示的选项卡,可以将TabHost选项卡显示的视图定义在其中;

 

 

 

 

 

 

 

 

 

 

 

 

(4)Activity方法

1. 获取TabHost

获取方法 :getHost();

        或者 (TabHost) findViewById(R.id.tabhost);

调用getHost()方法获取TabHost组件的方法的前提是在布局文件中,设置了android自带的id android:id="@android:id/tabhost"才可以;

②如果使用自己自定义的id时,则必须使用findViewByID(),调用xml布局文件中id设置为tabhost的控件,以获得tabhost;

 

2.setup()

如果后续需要使用setContent(),则必须使用setup()

 

3. 创建选项卡

创建方法:TabSpec ts = tabhost.newTabspec()

 

4、设置选项卡 :

设置按钮名称 : setIndicator();

设置选项卡内容 : setContent(), 可以设置视图组件, 可以设置Activity,也可以设置Fragement;

添加选项卡 : tabHost.add(spec), 传入的参数是创建选项卡的TabSpec对象;