给TabHost控件添加选项卡

TabHost控件可以很方便地在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆放区域,它有两个必备的组件:
1)TabWidget 组件就是TabHost的标题条,单击可以切换选项卡。
2)TabSpec组件就是一个选项卡

TabHost控件使用步骤如下:
(1)在布局文件中创建一个TabHost组件,并分别创建TabWidget和FrameLayout组件
(2)通过某种方法获取TabHost(通过继承TabActivity类调用getTabHost()获取或者直接使用方法findViewById()获取)
(3)调用方法newHostTab()创建TabSpec选项卡
(4)调用方法addTab()添加选项卡

布局文件中几个控件需要引用Android系统已有的ID,不能自己定义:
TabWidget:@android:id/tabs
FrameLayout:@android:id/tabcontent

还有一个经过试验可以自定义,TabHost:@+id/TabHost01是可行的,不知有没有大神遇到同样问题。

TabHost host = (TabHost)findViewById(R.id.TabHost01);
TabSpec allScoresTab = host.newTabSpec("allTab");   
allScoresTab.setIndicator(getResources().getString(R.string.all_scores));       
allScoresTab.setContent(R.id.ScrollViewAllScores);  
host.addTab(allScoresTab);  
TabSpec friendsScoresTab = host.newTabSpec("friendsTab");       
friendsScoresTab.setIndicator(getResources().getString(R.string.friends_scores));       
friendsScoresTab.setContent(R.id.ScrollViewFriendsScores);      
host.addTab(friendsScoresTab);
host.setCurrentTabByTag("allTab");

设置指示器setIndicator()时可以只有一个参数(文字)或者两个参数(文字和图标),哦,对了,可加一条代码设置默认的选项卡

host.setCurrentTabByTag("allTab");

你可能感兴趣的:(给TabHost控件添加选项卡)