在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。

转载于:https://www.cnblogs.com/bianmajiang/p/3964579.html

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

  1. Android两个tab吸顶,Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每

    Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每 Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每个 ...

  2. Android 图片压缩之多种压缩方式结合使用,阿里Android开发面试解答

    canvas.drawBitmap(image, null, rect, null); ByteArrayOutputStream baos = new ByteArrayOutputStream() ...

  3. 【基础】这15种CSS居中的方式,你都用过哪几种?

    简言 CSS居中是前端工程师经常要面对的问题,也是基本技能之一.今天有时间把CSS居中的方案汇编整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种.如有漏掉的,还会陆续的补充进来,算做是 ...

  4. python语言中有3种表示字符串的方式、单引号和_Python中三种类型的引号(单引号、双引号、三引号)...

    当向Python输入一个字符串时,要将字符串放到引号中,Python含有三种类型的引号: 单引号形式:'  ' 双引号形式:"  " 三引号形式:'''   ''' (三个单引号组 ...

  5. Go语言6种字符串拼接的方式

    Go语言6种字符串拼接的方式 前言 string类型 字符串拼接的6种方式及原理 原生拼接方式"+" 字符串格式化函数fmt.Sprintf Strings.builder byt ...

  6. SpringBoot 三种拦截http请求方式Filter,interceptor和aop

    SpringBoot 三种拦截http请求方式Filter,interceptor和aop. 这三种拦截方式的拦截顺序是:filter->Interceptor-->ControllerA ...

  7. 三种实现Android主界面Tab的方式

    转载于:https://www.cnblogs.com/caobotao/p/5103673.html 在平时的Android开发中,我们经常会使用Tab来进行主界面的布局.由于手机屏幕尺寸的限制,合 ...

  8. android两种广播注册区别,Android 注册广播的两种方式对比

    Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...

  9. Android 动态Tab分页效果实现

    当前项目使用的是TabHost+Activity进行分页,目前要做个报表功能,需要在一个Tab页内进行Activity的切换.比方说我有4个Tab页分别为Tab1,Tab2,Tab3,Tab4,现在的 ...

最新文章

  1. 删除SQL数据库中事务日志方法
  2. python制作adobe photoshop插件_Adobe Photoshop风格的后期处理和OpenCV
  3. 报名 | 二值化网络 基于素描图的图像检索论坛
  4. 比特币分叉第一案,谁动了我的比特币现金?
  5. 经典SQL语句大全、50个常用的sql语句
  6. matlab和python中的svd分解的区别
  7. java sdk下载_Java Sdk下载 | 保利威帮助中心
  8. 让IE浏览器支持GreaseMonkey,解除YOBO的禁止下载mp3
  9. pandas滑动窗口防止nan出现
  10. 毛谦解读“Pb/s级光传输”:技术的恩惠远不止于此
  11. BPSK调制gardner算法的MATLAB实现
  12. 一键生成AppIcon 多种尺寸图标
  13. python元组操作_python元组操作
  14. SaltStack源码分析之Redis Returner
  15. 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 /返回这三个数的和。
  16. 数据结构PTA习题:进阶实验5-3.2 新浪微博热门话题 (30分)
  17. openLayers6系列理论基础——Layer数据源source篇
  18. Python图像处理,cv2模块,OpenCV实现检索图片
  19. 图吧为什么叫图拉丁_如何评价百度贴吧「图拉丁吧」?
  20. iphone11各机型对比_iPhone 11系列手机买哪款好?iPhone 11系列对比评测

热门文章

  1. 【探索HTML5第二弹05】响应式布局(中),一步一步响应式布局
  2. 上周热点回顾(6.14-6.20)
  3. VS插件的开发 - Visual Studio Addin
  4. java main方法里调用mapper
  5. PowerShell入门(三):如何快速地掌握PowerShell?
  6. Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证
  7. IOS手机关于音乐自动播放问题的解决办法
  8. sublime 3143 注册码
  9. 在.NET中使用SMTP发送邮件
  10. 项目总结SpringMVC相关