android學習---TabHost

TabHost

一個簡單的示例:java

佈局文件:android

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</LinearLayout>

 

實現代碼:app

package com.leaf.android;

import java.util.ArrayList;
import java.util.List;
import android.app.TabActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TabHost;

//TabContentFactory的意思是當某一選項卡被選中時生成選項卡的內容.
//若是你的選項卡的內容按某些條件來生成, 請使用該接口.例如:不顯示既存的視圖而是啓動活動.
public class Main extends TabActivity implements TabHost.TabContentFactory {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TabHost th = getTabHost();
        // newTabSpecd的做用是獲取一個新的 TabHost.TabSpec,並關聯到當前 TabHost
        // setIndicator的做用是指定標籤和圖標做爲選項卡的指示符.
        // setContent的做用是指定用於顯示選項卡內容的視圖 ID.
        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("leaf");
            list.add("android");
            list.add("Lilei");
        } else if (tag.equals("ok")) {
            list.add("leaf");
            list.add("Lilei");
        } else {
            list.add("leaf");
        }

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_checked, list);
        lv.setAdapter(adapter);
        return lv;
    }
}

效果:ide

相關文章
相關標籤/搜索