Android切换卡TabWidget用法示例

本文实例讲述了Android切换卡TabWidget用法。分享给大家供大家参考,具体如下:

Tab选项卡类似与电话本的界面,通过多个标签切换不同的内容,要实现这个效果,首先要知道TabHost,它是一个用来存放多个Tab标签的容器,每一个Tab都可以对应自己的布局,比如,电话本中的Tab布局就是一个线性布局

要使用TabHost,首先要通过getTabHost方法获取TabHost的对象,然后通过addTab方法来向TabHost中添加Tab,当然每个Tab在切换时都会产生一个事件,要捕捉这个事件,需要设置TabActivity的事件监听setOnTabChangedListener

下面是个小例子:

TabTest.java:

package org.hualang.tab;
import android.app.Activity;
import android.app.TabActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.Toast;
import android.widget.TabHost.OnTabChangeListener;
public class TabTest extends TabActivity {
  /** Called when the activity is first created. */
  TabHost tabhost;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //取得TabHost对象
    tabhost = getTabHost();
    //为TabHost添加标签
    //新建一个newTabSpec(newTabSpec)
    //设置其标签和图标(setIndicator)
    //设置内容(setContent)
    tabhost.addTab(tabhost.newTabSpec("tab1")
        .setIndicator("TAB 1",getResources().getDrawable(R.drawable.img1))
        .setContent(R.id.text1));
    tabhost.addTab(tabhost.newTabSpec("tab2")
        .setIndicator("TAB 2",getResources().getDrawable(R.drawable.img2))
        .setContent(R.id.text2));
    tabhost.addTab(tabhost.newTabSpec("tab3")
        .setIndicator("TAB 3",getResources().getDrawable(R.drawable.img3))
        .setContent(R.id.text3));
    //设置TabHost的背景颜色
    //tabhost.setBackgroundColor(Color.argb(150,22,70,150));
    //设置TabHost的背景图片资源
    tabhost.setBackgroundResource(R.drawable.bg0);
    //设置当前显示哪个标签
    tabhost.setCurrentTab(0);
    //标签切换事件处理,setOnTabChangedListener
    tabhost.setOnTabChangedListener(new OnTabChangeListener()
    {
      public void onTabChanged(String tabId)
      {
        Toast toast=Toast.makeText(getApplicationContext(), "现在是"+tabId+"标签", Toast.LENGTH_SHORT);
        toast.show();
      }
    });
  }
}

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@android:id/tabhost"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TabWidget
      android:id="@android:id/tabs"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" />
    <FrameLayout
      android:id="@android:id/tabcontent"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
      <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="选项卡1" />
      <TextView
        android:id="@+id/text2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="选项卡2" />
      <TextView
        android:id="@+id/text3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="选项卡3" />
    </FrameLayout>
  </LinearLayout>
</TabHost>

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android视图View技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》及《Android资源操作技巧汇总》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android程序开发之自定义设置TabHost,TabWidget样式

    先看效果: 京东商城底部菜单栏 新浪微博底部菜单栏 本次学习效果图: 第一,主布局文件(启动页main.xml,位于res/layout目录下)代码 <?xml version="." encoding="utf-"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_paren

  • Android编程之TabWidget选项卡用法实例分析

    本文实例讲述了Android编程之TabWidget选项卡用法.分享给大家供大家参考,具体如下: 1 概览 TabWidget与TabHost.tab组件一般包括TabHost和TabWidget.FrameLayout,且TabWidget.FrameLayout属于TabHost. 是否继承TabActivity的问题 实现步骤.两种实现方式,一种是将每个Tab的布局嵌在TabHost中的FrameLayout中,每个Tab的内容布局与显示都在FrameLayout中进行,缺点是布局会显得很

  • Android TabWidget底部显示效果

    TabHost控件默认使用LinearLayout包裹TabWidget和FrameLayout,布局文件如下: <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="

  • Android仿微信底部菜单栏功能显示未读消息数量

    底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏,这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但是layout下的xml写的太臃肿,这里去掉了很多不必要的层,个人看起来还是不错的,所以贴出来方便以后使用). 先看一下做出来之后的效果: 以后使用的时候就可以换成自己项目的图片和字体了,主框架不用变哈哈, 首先是要布局layout下xml文件 main.xml: <?xml version="1.0" encoding=&qu

  • Android入门之TabHost与TabWidget实例解析

    本文实例介绍的是Android的Tab控件,Tab控件可以达到分页的效果,让一个屏幕的内容尽量丰富,当然也会增加开发的复杂程度,在有必要的时候再使用.Android的Tab控件使用起来有点奇怪,必须包含和按照以下的顺序: TabHost控件->TabWidget(必须命名为tabs)->FrameLayout(必须命名为tabcontent). 先来贴出本例运行的截图: main.xml的源码如下: <?xml version="1.0" encoding="

  • Android TabWidget切换卡的实现应用

    TabWidget类似于Android 中查看电话薄的界面,通过多个标签切换显示不同内容.要实现这一效果,首先要了解TabHost,它是一个用来存放多个Tab标签的容器.每一个Tab都可以对应自己的布局,比如,电话薄中的Tab布局就是一个List的线性布局了. 要使用TabHost,首先需要通过getTabHost方法来获取TabHost的对象,然后通过addTab方法来向TabHost中添加 Tab.当然每个Tab在切换时都会产生一个事件,要捕捉这个事件需要设置TabActivity的事件监听

  • Android ScrollView显示到底部或任意位置实现代码

     Android ScrollView显示到底部或任意位置 其实使ScrollView显示底部并不难.它有自己的方法fullScroll(): 1.显示顶部: scrollView.fullScroll(ScrollView.FOCUS_UP); 2.显示底部: scrollView.fullScroll(ScrollView.FOCUS_DOWN); 但是,有一点一定需要注意.这个方法不能直接调用,因为在Android里面,他的很多函数都是基于消息队列来实现的,也就是说fullScroll()

  • Android切换卡TabWidget用法示例

    本文实例讲述了Android切换卡TabWidget用法.分享给大家供大家参考,具体如下: Tab选项卡类似与电话本的界面,通过多个标签切换不同的内容,要实现这个效果,首先要知道TabHost,它是一个用来存放多个Tab标签的容器,每一个Tab都可以对应自己的布局,比如,电话本中的Tab布局就是一个线性布局 要使用TabHost,首先要通过getTabHost方法获取TabHost的对象,然后通过addTab方法来向TabHost中添加Tab,当然每个Tab在切换时都会产生一个事件,要捕捉这个事

  • Android开发中GridView用法示例

    本文实例讲述了Android开发中GridView用法.分享给大家供大家参考,具体如下: Android的GridView控件用于把一系列的空间组织成一个二维的网格显示出来,应用的比较多的就是组合图片显示.下面我就详细讲一个例子. 首先写一个类继承BaseAdapter 1. Java代码 package com.yarin.android.Examples_04_19; import android.content.Context; import android.view.View; impo

  • Android 通知的基本用法示例代码

    写android通知的时候发现Notification的setLatestEventInfo被弃用,于是搜素并整理了一下新的android通知的基本用法. 一.获取NotificationManager实例 NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 二.创建Notification实例 在这里需要根据project的

  • Android开发之开关按钮用法示例

    本文实例讲述了Android开发之开关按钮用法.分享给大家供大家参考,具体如下: 效果如下: 以下是布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:layout_

  • android中GridView的用法示例

    在Android程序设计中GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图.GridView的用法很多,网上介绍最多的方法就是自己实现一个ImageAdapter继承BaseAdapter,再供GridView使用,类似这种的方法本文不再重复,本文介绍的GridView用法跟之前介绍过的ListView极其类似. 我们先来看看本文代码运行的结果: 本文需要添加/修改3个文件:main.xml.nig

  • Android编程图片操作类定义与用法示例【拍照,相册选图及裁剪】

    本文实例讲述了Android编程图片操作类定义与用法.分享给大家供大家参考,具体如下: 主界面类:拍照及选择相册图片 import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import androi

  • Android编程录音工具类RecorderUtil定义与用法示例

    本文实例讲述了Android编程录音工具类RecorderUtil定义与用法.分享给大家供大家参考,具体如下: 以下工具类都是经过实战开发验证都是可以直接复制使用的. 录音工具类介绍: 录音工具类主要平时用来开发语音聊天的,在微信和QQ上该工具类都是常用的,因为语音聊天. 使用硬件一般都要开权限,别忘了.这里还需要搭配 Android FileUtil 类使用,为了方便才这么封装的 import android.media.MediaRecorder; import android.util.L

  • Android网络数据开关用法简单示例

    本文实例讲述了Android网络数据开关用法.分享给大家供大家参考,具体如下: api中没有开放这部分接口.因此大家可以使用这个方法,true时打开,false关闭.目前对G网手机可以. public boolean setMobileDataEnabled(boolean enabled) { final TelephonyManager mTelManager; mTelManager = (TelephonyManager) getSystemService(Context.TELEPHO

  • Android Git submodule详解用法示例

    目录 引入 创建 submodule 本地配置 代码提交 主项目上的代码提交 submodule独立项目上的代码提交 删除 submodule 引入 假定我们有两个项目:Cup 和 Water,其中 Cup 表示主项目,而 Water 表示子模块项目. 其中 Cup 的远程仓库地址为 git@github.com:SkyMissT/Cup.git 而 Water 的远程仓库地址为 git@github.com:SkyMissT/Water.git 接下来,我们希望在 Cup 中添加 Water

随机推荐