TabHost虽然Android3.0以后就过时了,但是,我们还是会用它的,毕竟有时候用起来很方便的.
使用时,目前,个人知识有限,只晓得两种方式
1.自己写一个类MyTabHost 继承 TabActivity
在setContentView方法里设置上自己定义的布局(也可以用默认的,不设置setContentView),主意:自定义的布局这里的根布局必须为TabHost,,且 android:id="@android:id/tabhost" ,且必须包含下面的两个布局
<span style="white-space:pre"> </span> <FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@android:id/tabs"
android:background="@null" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:divider="@null" />
然后通过
tabWidget = (TabWidget) findViewById(android.R.id.tabs);
mTabHost = (TabHost) findViewById(android.R.id.tabhost);
找到这个两个控件
主意:mTabHost的获取也可以通过getTabhost()来获取;如果使用自己定义的id名称时,必须使用findViewById(R.id.name),当然这里是不能使用自己定义的特殊的名称的
接着是添加选项卡前调用setup,这里的setup的调用,这里调用的是不带参数的,也可以不调用的.
2.自己写一个类MyTabHost 继承 ActivityGroup
布局同上,不过这里的id,自己进行定义.然后使用findViewById(R.id.name),找到tabWidget ,mTabHost .接着是添加选项卡前调用setup,这里的调用的是带参数的那个.
tabHost.setup(getLocalActivityManager());
由于是继承的ActivityGroup,这里的getLocalActivityManager()可以使用.
接下就进行选项卡的添加操作了.
个人愚见,方便以后复习.
参考文档http://www.cnblogs.com/over140/archive/2010/12/10/1901815.html