我们日常中经常用的QQ和微信都有分栏,我们点击消息,联系人,动态,分别展示出不同的界面,今天我们要将的TabHost就可以实现这个功能(虽然长得不太一样。)
首先看一波效果图

TabHost使用
关于TabHost,虽然已经被淘汰掉了,但是我们还是有必要了解一下,而且有的时候还是会用到的。
他有两种方法实现:
方法1:
1.更改Activity.xml文件(固定格式)


吧layout改为TabHost,然后给上id,id为系统的固定id(一定要这样写,一定要这样写,一定要这样写!!)
然后里面嵌套一个LinearLayout,里面添加一个FrameLayout和一个TabWidget(FrameLayout和TabWidget也要用系统的id!!!!!!)
2.这样就改好了,我们接下来看Activity.java。

继承TabActivity

通过getTabHost方法获取到host。
3.添加标签

每一个TabSpec都是一个标签,第一个构造方法中的参数是标签名字
setContent里面放的是我们要存放的布局的id,
setIndicator是他显示的标题。
现在我们可以看一下效果。已经出来了。

方法2:
1.布局改写
跟方法1一样,我们按照上面的固定格式改写布局,只不过这次我们的TabHost的id不用系统的id,我们用自己定义的id(TabWidget和FrameLayout的id不变,依然用系统id)

2.java文件改写
我们这次不用继承TabActivity,也不用getTabHost方法获取host,而是通过findViewById来获取。

我们要调用一个方法

添加数据跟方法一一模一样。
然后来看一下效果,跟方法一实现的一模一样。
网友评论