TabHost是android应用开发中非常常用的组件,他能起到类似web开发中菜单导航的效果。

基本概念:

TabHost:TabHost就像一个容器,里面可以存放多个Tab。

tabHost.addTab(tabSpec);//此方法用于将tab添加到tabHost。

TabSpec:就是Tab,这个类没有对外提供构造函数(不能new),我们需要通过tabHost.newTabSpec("TS_HOME")来实例化TabSpec,参数用于识别和区分多个Tab,就像每个人都会有一个名字。通过TabSpec我们可以设置Tab的图标、Tab上显示的文字,还有Tab的内容。

tabSpec.setIndicator("主页", getResources().getDrawable(R.drawable.tab_home));//此方法用于设置Tab的文字和图标。

tabSpec.setContent(new Intent(this,HomeActivity.class));//此方法用于设置Tab的内容,此方法有多种参数形式,本文主要讲Tab的内容为Activity。

程序实例:

效果图

代码:

import android.app.TabActivity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.TabHost;

import android.widget.TabHost.TabSpec;

public class TabHost1Activity extends TabActivity {

TabHost tb;

/**Called when the activity is first created.*/

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

tb = this.getTabHost();

TabSpec tsHome = tb.newTabSpec("TS_HOME")

.setIndicator("主页", getResources().getDrawable(R.drawable.tab_home))

.setContent(new Intent(this,HomeActivity.class));

tb.addTab(tsHome);

TabSpec tsGroupOn = tb.newTabSpec("TS_GROUPON")

.setIndicator("团购信息", getResources().getDrawable(R.drawable.tab_groupon))

.setContent(new Intent(this,GroupOnActivity.class));

tb.addTab(tsGroupOn);

TabSpec tsUserInfo = tb.newTabSpec("TS_USERINFO")

.setIndicator("个人中心", getResources().getDrawable(R.drawable.tab_userinfo))

.setContent(new Intent(this,UserInfoActivity.class));

tb.addTab(tsUserInfo);

TabSpec tsMore = tb.newTabSpec("TS_MORE")

.setIndicator("更多", getResources().getDrawable(R.drawable.tab_more))

.setContent(new Intent(this,MoreActivity.class));

tb.addTab(tsMore);

}

}

简简单单几句代码TabHost存放多个Activity就实现了。

androidtabhost缓存_Android学习笔记(一):TabHost存放多个Activity相关推荐

  1. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  2. Android学习笔记:TabHost 和 FragmentTabHost

    2019独角兽企业重金招聘Python工程师标准>>> Android学习笔记:TabHost 和 FragmentTabHostTabHost命名空间:android.widget ...

  3. Android学习笔记:TabHost 和 FragmentTabHost(转)

    Android学习笔记:TabHost 和 FragmentTabHost(转) 转自:http://www.cnblogs.com/asion/p/3339313.html 作者:Asion Tan ...

  4. Android学习笔记(四):在Activity中跳转--Intent的使用

    Android学习笔记(四):在Activity中跳转--Intent的使用 上篇,我们实战了一个很小的项目BMI,通过BMI这个项目,可以很好的理解Activity的程序结构,以方便后面高级API的 ...

  5. android 注册动态广播 注销_Android学习笔记(十一)BroadcastReceiver动态注册、注销示例...

    在上一篇博文中简单介绍了一下BroadcastReceiver的相关知识点,本篇举一个在代码中动态的注册.注销BroadcastReceiver的栗子. 1.首先创建一个MyReceiver并继承Br ...

  6. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第四章:活动Activity

    第 4 章 活动Activity 本章介绍Android 4大组件之一Activity的基本概念和常见用法.主要包括如何正确地启动和停止活动页 面.如何在两个活动之间传递各类消息.如何在意图之外给活动 ...

  7. CPU、内存、三级缓存(学习笔记)

    计算机组成 CPU及内存 下图为两颗CPU,每颗CPU为2核 CPU重要组成 PC(程序计数器):存放下一条指令所在单元的地址 Registers(寄存器):存数据 ALU(算术逻辑单元):进行运算 ...

  8. android8 通知呼吸灯_android学习笔记----解决兼容8.0以上和8.0之前版本通知栏显示、振动、LED呼吸灯闪烁问题(真机验证)...

    Android 8.0系统的通知栏适配文章讲解(郭霖大神的): 然后开始试验了: 模拟器: 真机(华为荣耀V9,8.0系统),下拉横幅需要手动打开,除非是厂家白名单,比如QQ.微信 我在oppo手机6 ...

  9. 查询缓存---Mybatis学习笔记(十)

    mybatis缓存介绍 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. 如下图,是mybatis一级缓存和二级缓存的区别图解: Mybatis一级缓存的作用域是同一个SqlSessio ...

最新文章

  1. 一个synchronized跟面试官扯了半个小时
  2. C++实现图的深度优先遍历和广度优先遍历
  3. 华为欧拉系统服务器开接口,华为操作系统 euleros
  4. mysql必知必会_MySQL必知必会
  5. 游泳后精疲力尽_精疲力尽的编程后如何重回正轨
  6. LOJ3119 CTS2019 随机立方体 概率、容斥、二项式反演
  7. Mysql数据类型blob存储长度
  8. Gentoo Framebuffer, Bootsplash Grubsplash 指南(修改版)
  9. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
  10. 记录一次k3的SQLServerException: 将截断字符串或二进制数据
  11. 【待续】C数据结构2.3-顺序表之插入算法
  12. [cloud][sdn] neutron了解
  13. 效率软件:微软远程桌面安卓版
  14. 蓝桥杯 PREV-10 幸运数
  15. Qcom平台,dump解析环境配置
  16. 蓝桥杯练习 圆的面积
  17. 推荐 6 个本月 yyds 的开源项目
  18. TypeScript入门到出门
  19. C#使用西门子S7 协议读写PLC DB块
  20. Manjaro 安装后的设置

热门文章

  1. Three.js之渲染器
  2. [USACO18JAN][luoguP4183 ]Cow at Large P
  3. 逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串
  4. cocos2d-x游戏实例(4)-地图碰撞
  5. 网络编程之Socket【Python】
  6. MongoDB入门教程(1)
  7. 深入理解DPDK架构|经典PDF分享
  8. 微服务下分布式事务模式的详细对比
  9. 详解MySQL基准测试和sysbench工具
  10. 2020 JVM生态报告