Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android選項卡(TabWidget)例子

Android選項卡(TabWidget)例子

編輯:Android開發實例

Android選項卡的一個例子,這個例子是照著SDK 文檔做的(resources/tutorials/views/hello-tabwidget.html),為了省事少做了一些圖標類的東西。

步驟

1.建立兩個Activity,作為tab內容 (我這裡是OneActivity、TestActivity)

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

2.在layout文件夾中建立tab.xml用於怎樣顯示tab頁面

注意:TabHost ,TabWidget ,FrameLayout的ID必須分別[email protected]:id/tabhost,@android:id/tabs,@android:id/tabcontent
另外還要注意一下android:layout_width寬度和android:layout_height高度的取值,還要LinearLayout的android:orientation=”vertical”(LinearLayout默認是橫向的)當你看到布局和我不一樣時你就要考慮一下這裡是不是錯了。(= =!因為我錯過)

<?xml version="1.0" encoding="utf-8"?>
<TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent"
	android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
	<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"></TabWidget>
		<FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
	</LinearLayout>
</TabHost>

3.新建一個類TabWidget.java,繼承TabActivity類

package com.fatkun;
 
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
 
public class TabWidget extends TabActivity {
 
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.tab);//這裡使用了上面創建的xml文件(Tab頁面的布局)
	    Resources res = getResources(); // Resource object to get Drawables
	    TabHost tabHost = getTabHost();  // The activity TabHost
	    TabSpec spec;
	    Intent intent;  // Reusable Intent for each tab
 
	  //第一個TAB
	    intent = new Intent(this,OneActivity.class);//新建一個Intent用作Tab1顯示的內容
	    spec = tabHost.newTabSpec("tab1")//新建一個 Tab
	    .setIndicator("Tab1", res.getDrawable(android.R.drawable.ic_media_play))//設置名稱以及圖標
	    .setContent(intent);//設置顯示的intent,這裡的參數也可以是R.id.xxx
	    tabHost.addTab(spec);//添加進tabHost
 
	    //第二個TAB
	    intent = new Intent(this,TestActivity.class);//第二個Intent用作Tab1顯示的內容
	    spec = tabHost.newTabSpec("tab2")//新建一個 Tab
	    .setIndicator("Tab2", res.getDrawable(android.R.drawable.ic_menu_camera))//設置名稱以及圖標
	    .setContent(intent);//設置顯示的intent,這裡的參數也可以是R.id.xxx
	    tabHost.addTab(spec);//添加進tabHost
 
	    tabHost.setCurrentTab(1);
	}
 
}

4.最後一步,在AndroidManifest.xml加入你的Activity

android:theme=”@android:style/Theme.NoTitleBar”是可以使得TabWidget窗口沒有標題,多點空間顯示

    <activity android:name="TabWidget" android:theme="@android:style/Theme.NoTitleBar"></activity>
    <activity android:name="OneActivity"></activity>
    <activity android:name="TestActivity"></activity>

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved