首页 > 代码库 > (转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构
(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构
在Android里面Tab分页,常用的方法有两种:
一、TabActivity和TabHost的结合
1.主类继承TabActivity
public class Tagpage extends TabActivity
2.获取当前TabHost对象
final TabHost tabHost = getTabHost();
3.添加Tab分页标签,这里就是关键,把每个分页面链接成Activity。页面的跳转,即是Activity的跳转。
tabHost.addTab(tabHost.newTabSpec("Tab1") .setIndicator("tab2", getResources().getDrawable(R.drawable.a1)).setContent(new Intent(this, Page1.class)));
二、ActivityGroup和GridView的结合
1.主类继承ActivityGroup
public class GridViewTabPage extends ActivityGroup
2.获取每个子页面的Activity视图
Intent intent = new Intent(GridViewTabPage.this, Page1.class);
subPageView = getLocalActivityManager().startActivity("subPageView" + i, intent);
3.加载到容器
pageContainer.addView(subPageView .getDecorView(),LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
如果Tab选项过多,可以采用Gallery+ActivityGroup结合的实现方式。
1、单个Activity架构(推荐)
首页是Activity,里面页面为View,头部底部栏都是公用的,只是改变文字和图案。底部导航栏为RadioButton,中部可以滑动切换。跳转很快,但是首页不流畅。
这种架构的好处是思路清晰,系统运行开销小。缺点是控制不好的话代码混乱,而且生命周期不好管理。
2、多个Activity-利用BaseActivity提供共性
3、多个Activity-利用TabActivity
MainActivity(TabActivity)->子Activity(BaseActivty)
代码与思路都清晰,BaseActivity拥有相同的后退和头部底部栏。
3.1 MainActivity(TabActivity)->子Activity(ActivityGroup)->孙子Activity(BaseActivty)
PS:适合需要在一个TabHost内实现多个Activity的跳转
3.2 Radiobutton与TabActivity结合跳转(代码非常清晰)
4、多个Activity-ActivityGroup(官方已经标为不推荐)
底部栏用GridView实现,底部也是用RadioButton。
(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构