文档章节

Android学习笔记(一):TabHost存放多个Activity

yolinfeng
 yolinfeng
发布于 2015/04/29 14:35
字数 351
阅读 43
收藏 0

  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就实现了。

本文转载自:http://www.cnblogs.com/sank615/archive/2011/12/13/2286070.html

yolinfeng
粉丝 12
博文 196
码字总数 11946
作品 0
珠海
架构师
私信 提问
Android界面开发之切换卡TabWidget用法

TabWidget类似Android中查看电话簿的界面,通过多个标签切换显示不同的内容。要实现这一效果,首先要了解TabHost ,它是一个用来存放多个Tab标签的容器。每一个Tab都可以对应自己的布局,比如...

鉴客
2011/11/22
28.5K
5
我学习android有个疑问,android这么多布局,学习来有必然要吗?

我学习android有个疑问,android这么多布局,学习来有必然要吗? 像这种TabHost布局,常用吗?

天池番薯
2015/04/16
117
1
Android 分页控件制成底部菜单.

其实Android 中的底部菜单, 可以用分页控件很好的实现。 我们先将自定义分页控件做好, 就可以做到顶底两个位置的菜单了。 TabHost只是作为一个容器来存放一些Activity, 所以需要自己另外创...

鉴客
2011/12/13
4.6K
2
Android TabHost 详细讲解

一、什么是TabHost。 Android 里面的TabHost就是选项卡,看下图(新浪微博界面): 至于选项卡有什么好处或者用途,我想代码哥们都知道吧,我就不多说了。 二、在Android里面如何实现TabHost 有...

长平狐
2012/09/03
2.6K
1
【android基础学习之八】——页面布局

声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录,刚刚学习不可避免会出现很多问题,若是有错误...

晨曦之光
2012/03/08
851
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 程序员做噩梦

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 手嶌葵《Kiss The Girl》 《Kiss The Girl》- 手嶌葵 手机党少年们想听歌,请使劲儿戳(这里) @Sharon啊 :今天...

小小编辑
41分钟前
99
6
Another app is currently holding the yum lock; waiting for it to exit...

Another app is currently holding the yum lock; waiting for it to exit... The other application is: PackageKit Memory : 153 M RSS (266 MB VSZ) Started: Thu Jul 12 00:03......

圣洁之子
49分钟前
2
0
FastDateFormat 研究

FastDateFormat 对缓存的利用,其实就是用ConcurrentHashMap 做了一个map类型的缓存 public F getInstance(final String pattern, TimeZone timeZone, Locale locale) { Validate......

暗中观察
今天
3
0
Android双向绑定原理简述

Android双向绑定原理简述 双向绑定涉及两个部分,即将业务状态的变化传递给UI,以及将用户输入信息传递给业务模型。 首先我们来看业务状态是如何传递给UI的。开启dataBinding后,编译器为布局...

tommwq
今天
4
0
Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部