首页 > 代码库 > (转载)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项目几种常见的应用架构