接上篇博文,本篇文章继续讲解关于Tabhost的一些操作,主要有以下两个要点:
1、将最外边的Tabhost的选项卡放置到界面的底部,为实现嵌套做准备。
2、实现两个Tabhost的嵌套,将其作为两级菜单内容显示的载体。
一旦实现这个效果以后,我们可以利用Tabhost为载体实现应用程序随下方的点击来切换一级菜单,随上方的点击来切换二级菜单。下来具体看一下实现步骤:
1)在layout中添加Tabhost,并且将tabs拖动到tabcontent的下方,此时预览界面的tabs将会消失,不要着急
2)将tabcontent的权重设为1,此时我们会看见tabs重新显示在了界面上,并且已经置于界面的下方,我们可以根据自己的需要对其高度进行设置。这里为方便起见将该Tabhost所在的Activity称作“父Tabhost”。
3)新建一个layout,添加Tabhost控件,我们将该layout称作“子tabhost”。
新建一个类Sontabhost.java,继承Activity。在onCreate()方法中指定视图;
setContentView(R.layout.sontab);//sontab即为当前layout:子tabhost为新的tabhost添加选项卡:
TabHost tabHost = (TabHost) findViewById(R.id.tabhost1); tabHost.setup(); tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("特色专题") .setContent(R.id.tab1)); tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("游戏分类") .setContent(R.id.tab2)); tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("应用分类") .setContent(R.id.tab3)); tabHost.setCurrentTab(0);4) 去MainActivity.java中添加“父Tabhost”的选项卡,这里的方法虽然为Tabhost设置了图片和文字,但是却只能显示出文字,如果需要将两者同时显示,请参照我的上一篇文章。
tab.addTab(tab.newTabSpec("选项卡二").setIndicator("专题分类", getResources().getDrawable(R.drawable.ic_launcher)).setContent(new Intent(this, Sontabhost.class)));//这里代码只贴一个的,用法相近可以自己体会在上边的setContent()中新建一个意图Intent,让它指向我们在第3步创建的类Sontabhost,至此,我们便完成了两个tabhost的嵌套,大致效果展示如下:
点击下方的专题分类即可显示子Tabhost,上方下方的选项卡皆可实现切换。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u012193089/article/details/47812873