(转载)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。
转载于:https://www.cnblogs.com/bianmajiang/p/3964579.html
(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构...相关推荐
- Android两个tab吸顶,Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每
Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每 Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每个 ...
- Android 图片压缩之多种压缩方式结合使用,阿里Android开发面试解答
canvas.drawBitmap(image, null, rect, null); ByteArrayOutputStream baos = new ByteArrayOutputStream() ...
- 【基础】这15种CSS居中的方式,你都用过哪几种?
简言 CSS居中是前端工程师经常要面对的问题,也是基本技能之一.今天有时间把CSS居中的方案汇编整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种.如有漏掉的,还会陆续的补充进来,算做是 ...
- python语言中有3种表示字符串的方式、单引号和_Python中三种类型的引号(单引号、双引号、三引号)...
当向Python输入一个字符串时,要将字符串放到引号中,Python含有三种类型的引号: 单引号形式:' ' 双引号形式:" " 三引号形式:''' ''' (三个单引号组 ...
- Go语言6种字符串拼接的方式
Go语言6种字符串拼接的方式 前言 string类型 字符串拼接的6种方式及原理 原生拼接方式"+" 字符串格式化函数fmt.Sprintf Strings.builder byt ...
- SpringBoot 三种拦截http请求方式Filter,interceptor和aop
SpringBoot 三种拦截http请求方式Filter,interceptor和aop. 这三种拦截方式的拦截顺序是:filter->Interceptor-->ControllerA ...
- 三种实现Android主界面Tab的方式
转载于:https://www.cnblogs.com/caobotao/p/5103673.html 在平时的Android开发中,我们经常会使用Tab来进行主界面的布局.由于手机屏幕尺寸的限制,合 ...
- android两种广播注册区别,Android 注册广播的两种方式对比
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...
- Android 动态Tab分页效果实现
当前项目使用的是TabHost+Activity进行分页,目前要做个报表功能,需要在一个Tab页内进行Activity的切换.比方说我有4个Tab页分别为Tab1,Tab2,Tab3,Tab4,现在的 ...
最新文章
- 删除SQL数据库中事务日志方法
- python制作adobe photoshop插件_Adobe Photoshop风格的后期处理和OpenCV
- 报名 | 二值化网络 基于素描图的图像检索论坛
- 比特币分叉第一案,谁动了我的比特币现金?
- 经典SQL语句大全、50个常用的sql语句
- matlab和python中的svd分解的区别
- java sdk下载_Java Sdk下载 | 保利威帮助中心
- 让IE浏览器支持GreaseMonkey,解除YOBO的禁止下载mp3
- pandas滑动窗口防止nan出现
- 毛谦解读“Pb/s级光传输”:技术的恩惠远不止于此
- BPSK调制gardner算法的MATLAB实现
- 一键生成AppIcon 多种尺寸图标
- python元组操作_python元组操作
- SaltStack源码分析之Redis Returner
- 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 /返回这三个数的和。
- 数据结构PTA习题:进阶实验5-3.2 新浪微博热门话题 (30分)
- openLayers6系列理论基础——Layer数据源source篇
- Python图像处理,cv2模块,OpenCV实现检索图片
- 图吧为什么叫图拉丁_如何评价百度贴吧「图拉丁吧」?
- iphone11各机型对比_iPhone 11系列手机买哪款好?iPhone 11系列对比评测