TabHost的使用方法

来源:互联网 发布:厦门网络推广 编辑:程序博客网 时间:2024/05/16 19:26

第一步:建立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">
    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp"
             />
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            />
    </RelativeLayout>
</TabHost>

第二步骤:编辑MainActivity

package cn.hjw.TabWidget;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class MainActivity extends TabActivity {
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //得到资源管理器,
  Resources res = getResources(); // Resource object to get Drawables
  TabHost tabHost = getTabHost(); // The activity TabHost 标记容器
  TabHost.TabSpec spec; // Resusable TabSpec for each tab 标记指示器
  Intent intent; // Reusable Intent for each tab

  // Create an Intent to launch an Activity for the tab (to be reused)
  intent = new Intent().setClass(this, ArtistsActivity.class);

  // Initialize a TabSpec for each tab and add it to the TabHost
  spec = tabHost
    .newTabSpec("artists")
    .setIndicator("Artists",
      res.getDrawable(R.drawable.ic_tab_artists))
    .setContent(intent);
  tabHost.addTab(spec);  //给容器中添加子标记

  // Do the same for the other tabs
  intent = new Intent().setClass(this, AlbumsActivity.class);
  spec = tabHost
    .newTabSpec("albums")
    .setIndicator("Albums",
      res.getDrawable(R.drawable.ic_tab_albums))
    .setContent(intent);
  tabHost.addTab(spec);

  intent = new Intent().setClass(this, SongsActivity.class);
  spec = tabHost
    .newTabSpec("songs")
    .setIndicator("Songs", res.getDrawable(R.drawable.ic_tab_songs))
    .setContent(intent);
  tabHost.addTab(spec);

//  tabHost.setCurrentTab(2);  指定默认显示那个标记,是按添加的顺序,默认是第零个,是从零开始的
 }
}

第三步骤:添加别的用的activity

package cn.hjw.TabWidget;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class ArtistsActivity extends  Activity {
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     TextView textview = new TextView(this);
        textview.setText("This is the Artists tab");
        setContentView(textview);
 }
}

 

注意:一定要在清单文件中注册所有的activity类

 

原创粉丝点击