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. Hive(7)-基本查询语句

    一. 表和数据准备 1. 数据地址 链接:https://pan.baidu.com/s/1crr8B9bD_0Phfm99vLCWjg  提取码:5jzw 2. 建表语句 create table ...

  2. try catch finally 中 returne的执行顺序

    结论:1.不管有没有出现异常,finally块中代码都会执行:2.当try和catch中有return时,finally仍然会执行:3.finally是在return后面的表达式运算后执行的(此时并没 ...

  3. python学习——面向对象的三大特性

    一.继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. 1.python中类的继承分为:单继承和多继承 class P ...

  4. 数据库操作-go

    原版 import ( "database/sql" _ "github.com/go-sql-driver/mysql" "fmt" ) ...

  5. 优步UBER司机全国各地奖励政策汇总 (3月28日-4月3日)

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

  6. 成都Uber优步司机奖励政策(2月26日)

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

  7. Ubuntu adb 报错:no permissions (user in plugdev group; are your udev rules wrong?);

    Ubuntu 下 adb 报错: caoxinyu@caoxinyu-ThinkPad-T470p:~/Android/Sdk/platform-tools$ ./adb devices List o ...

  8. springboot 配置二级缓存

    springBoot中配置mybatis的二级缓存 2018年01月22日 11:45:37 Ting.Xue(Martin.Xue) 阅读数:5604更多 个人分类: SSM的Spring框架Myb ...

  9. MySQL高级-主从复制

    一.复制的基本原理 1.slave会从master读取binlog来进行数据同步 2.步骤+原理图 二.复制的基本原则 1.每个slave只有一个master 2.每个slave只能有一个唯一的服务器 ...

  10. linux_fdisk命令详解,关于分区的详解

    这篇文章写的十分详细,特别的好 fdisk -l 可以列出所有的分区,包括没有挂上的分区和usb设备.我一般用这个来查找需要挂载的分区的位置,比如挂上u盘. 实例解说Linux中fdisk分区使用方法 ...