首页 > 系统 > Android > 正文

Android切换卡TabWidget用法示例

2019-12-12 05:37:20
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表