码迷,mamicode.com
首页 > 移动开发 > 详细

(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构

时间:2014-09-10 17:16:20      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   os   io   ar   strong   art   

在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,中部可以滑动切换。跳转很快,但是首页不流畅。

这种架构的好处是思路清晰,系统运行开销小。缺点是控制不好的话代码混乱,而且生命周期不好管理。

bubuko.com,布布扣

2、多个Activity-利用BaseActivity提供共性

bubuko.com,布布扣

3、多个Activity-利用TabActivity

MainActivity(TabActivity)->子Activity(BaseActivty)

代码与思路都清晰,BaseActivity拥有相同的后退和头部底部栏。

bubuko.com,布布扣

3.1 MainActivity(TabActivity)->子Activity(ActivityGroup)->孙子Activity(BaseActivty)

PS:适合需要在一个TabHost内实现多个Activity的跳转

bubuko.com,布布扣

3.2 Radiobutton与TabActivity结合跳转(代码非常清晰)

bubuko.com,布布扣

4、多个Activity-ActivityGroup(官方已经标为不推荐)

底部栏用GridView实现,底部也是用RadioButton。

bubuko.com,布布扣

(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构

标签:android   style   blog   http   os   io   ar   strong   art   

原文地址:http://www.cnblogs.com/iiahadadiaow/p/3964579.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!