1.继承TabActivity实现

a)         在布局文件中使用FrameLayout列出Tab组件及Tab中的内容组件

b)        Activity要继承TabActivity

c)         调用TabActivity的getTabHost()方法获得TabHost对象

d)        通过TabHost创建Tab选项

public class MainActivity extends TabActivity {

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

       /* requestWindowFeature(Window.FEATURE_NO_TITLE);

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

                        WindowManager.LayoutParams.FLAG_FULLSCREEN);*/

        TabHost th = getTabHost();

        LayoutInflater.from(this).inflate(R.layout.main, th.getTabContentView(), true);

        th.addTab(th.newTabSpec("all").setIndicator("所有通话记录").setContent(R.id.TextView01));

        th.addTab(th.newTabSpec("ok").setIndicator("已接来电").setContent(R.id.TextView02));

        th.addTab(th.newTabSpec("cancel").setIndicator("未接来电").setContent(R.id.TextView03));

        th.setOnTabChangedListener(

                  new OnTabChangeListener() {

                               @Override

                               public void onTabChanged(String tabId) {

                                      Toast.makeText(MainActivity.this, tabId, Toast.LENGTH_LONG).show();

                               }

                        }

        );

    }

}

2.Tab的内容还可以通过实现一个接口TabHost.TabContentFactory的createTabContent方法来指定

public class MainActivity extends TabActivity implements

          TabHost.TabContentFactory {

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

   @Override

   public void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          TabHost th = getTabHost();

          th.addTab(th.newTabSpec("all").setIndicator("所有通话记录").setContent(this));

          th.addTab(th.newTabSpec("ok").setIndicator("已接来电").setContent(this));

          th.addTab(th.newTabSpec("cancel").setIndicator("未接来电").setContent(this));

   }

   public View createTabContent(String tag) {

          ListView lv = new ListView(this);

          List<String> list = new ArrayList<String>();

          list.add(tag);

          if(tag.equals("all")){

                 list.add("tom");

                 list.add("kite");

                 list.add("rose");

          }else if(tag.equals("ok")){

                 list.add("tom");

                 list.add("kite");

          }else{

                 list.add("rose");

          }

          ArrayAdapter adapter = new ArrayAdapter(this,

                        android.R.layout.simple_list_item_checked, list);

          lv.setAdapter(adapter);

          return lv;

   }

}

<Android>tab选项卡的更多相关文章

  1. 基于CkEditor实现.net在线开发之路(4)快速布局,工具箱,模板载入,tab选项卡简单说明与使用

    上一章给常用的from表单控件属性页面,进行了简单说明和介绍,但是由于是在网页中做界面设计,操作肯定没有桌面应用程序方便,便捷,为了更方便的布局与设计,今天我主要说一下快速布局,工具箱,tab选项卡, ...

  2. 可轮播滚动的Tab选项卡

    前段时间有试着搭建个后台主题ui框架,有用到可支持滚动的Tab选项卡,模仿着H+后台主题ui框架中的代码造轮子改造了下,可惜代码在公司,不能把代码外发出来(感觉这样被限制了很多,对于这样的公司没办法, ...

  3. android tab选项卡的使用

    项目做完了,写写博客,在项目中遇到的一些问题,或者是自己觉得很不错的东西.这一篇主要是想和大家分享一下我在项目中封装的一个东西,就是tab选项卡.先看看效果图: 我在网上看了很多有关选项卡的demo, ...

  4. js基础练习一之tab选项卡

    最近在学习前端,当然包括js,css,html什么的,在听课时做的一些小练习,记录下来: 实例一: --Tab选项卡-- <script type="text/javascript&q ...

  5. :target伪类制作tab选项卡

    :target伪类的作用是突出显示活动的HTML锚,下面是一个简单的例子: HTML代码: <div> <a href="#demo1">点击此处</ ...

  6. 工作当中实际运用(1)——tab选项卡

    不废话 直接上代码: tab选项卡 window.onload=function(){ var titles= document.getElementById('header-dh').getElem ...

  7. 各种效果的tab选项卡

    ;(function($){ $.fn.tabso=function( options ){ var opts=$.extend({},$.fn.tabso.defaults,options ); r ...

  8. (2)WinForm中改变Tab选项卡的顺序

    Tab选项卡选中,在其属性中找到TabPages这个属性.点进去,可以通过上下移动标签卡改变标签卡的顺序.

  9. 原生js实现tab选项卡里内嵌图片滚动特效代码

    <!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...

  10. tab选项卡-jQuery

    上次用原生的js写了个tab选项卡   这次按照一样的思路用jQuery写了一个 ,直接看代码: /*布局*/ <div id="div1"> <input cl ...

随机推荐

  1. mysql 操作表结构

    整理一下对mysql表结构的简单操作,dos窗口模式的,现在基本上都是些图形化操作mysql,像这种命令形式的少了很多,暂时记忆点,以防以后忘记. 从数据库的创建开始: show databases; ...

  2. STM32(11)——DMA

    简介: DMA:Direct Memory Access,直接存储器访问.DMA传输数据从一个地址空间复制到另外一个地址空间.当CPU初始化这个传输动作,传输动作本身就是DMA控制器来实现和完成.典型 ...

  3. python应用:爬虫框架Scrapy系统学习第四篇——scrapy爬取笔趣阁小说

    使用cmd创建一个scrapy项目: scrapy startproject project_name (project_name 必须以字母开头,只能包含字母.数字以及下划线<undersco ...

  4. spark----词频统计(一)

    利用Linux系统中安装的spark来统计: 1.选择目录,并创建一个存放文本的目录,将要处理的文本保存在该目录下以供查找操作: ① cd /usr/local ②mkdir mycode ③ cd ...

  5. IPV6路由技术

    OSPFV3 一.OSPFv3概述:协议号89 1.概念: OSPFv3是ospf(开放式最短路径优先)版本3的简称,主要提供对IPV6的支持,遵循的标准为RFC2740(OSPF for IPv6) ...

  6. Python交换两个变量值的函数

    方法1:(错误) def func(a,b): a,b = b,a a = 1 b = 2 func(a,b) print(a," ",b) 方法2:(正确) def func(a ...

  7. JAVA8 Stream API的使用

    /** * @auther hhh * @date 2018/12/31 12:48 * @description Stream流:用来处理数组.集合的API * 1.不是数据结构,没有内部存储(只是 ...

  8. Hangfire初探

    Hangfire 是什么? Hangfire 是一个定时任务的管理后台,它拥有定时任务功能和及其相关的管理后台界面.Hangfire 原生使用 .NET 开发的,同时支持 .NET 和 .NET Co ...

  9. 北京Uber优步司机奖励政策(1月30日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. Chrome模拟平板调试

    1. 按F12,打开开发者工具,右上角,点击红圈中的标志.然后在弹出的面板中点击'Emulation'. 2. 会看到左侧的四个选项卡  Device 设备.Screen 屏幕.User Agent ...