在Android中一般使用TabHost布局选项卡,然而TabHost的使用和其他的一般View类有所不同。
TabHost由TabWidget和FrameLayout组件构成:
1、TabWidge表示选项卡(供用户点击选择卡头,即 Tab/页 的集合)
2、FrameLayout则是TabWidge的具体Tab内的Content(可理解为每一个Tab的容器,提供内部View组件的布局)。
为什么Android要用FrameLayout作为TabWidge的布局?
因为Android让所有的Tab的Content进行了统一,也就是说每一个独立的Tab都共用了一个布局,而此时利用FrameLayout这种帧布局方式是有最强的重叠性,当用户点选不同的Tab时,该Tab的具体Layout或Activity就可以在content中用帧的方式直接覆盖于上一帧上。
在显示Tab内容上,一般提供两种方式显示:
1、Activity
这种方式要求我们在代码中先建立新的Activity类,再利用intent把新的Activity然后加载到MainActivity的tabHost中
详见 "(Android SDK包)\docs\resources\tutorials\views\hello-tabwidget.html"
2、Layout
这种方式需要编写xml的layout文件,再通过layinflator.inflate把xml的layout转换为View,然后加载到tabHost中
详见《Android从入门到精通-4.1.4 例4.5》