网上有好多tabhost的应用文章,原来用都是copy代码,我写这篇只是自己做一个总结,这里没有复杂的代码demo,只是加深一下印象
1.布局页面
1.1外部为TabHost 控件,必须设置id为 android:id="@android:id/tabhost"
1.2内部为TabWidget控件,必须设置id为android:id="@android:id/tabs"
1.3显示内容的控件一般用FrameLayout,必修设置id为 android:id="@android:id/tabcontent"
2创建TabHost
2.1放tabhost的Activity要继承TabActivity,否则里边没有getTabHost方法
2.2实例化tabhost 调用getTabHost()获取到tabs,其实tabhost就是存放多个tab的容器
2.3那么容器里的一个tab就是TabSpec,调用tabhost实例的newTabSpec(string tag)方法创建一个tabspec
2.4每一个tab都要有一个布局,通过TabSpec实例的setIndicator(View v)方法设置实例参数是一个view
这里可以用java代码创建一个view,也可以通过View的静态方法View.inflate()载入一个布局页面
2.5每一个tab当然也要有点击载入的页面,通过TabSpec实例的setContent(Intent intent)方法来设置一个intent就行了
2.6最后调用tabhost实例的addTab()方法把刚才创建的tabspec实例加入进去就ok啦,加入多个tab重复上述步骤即可