zoukankan      html  css  js  c++  java
  • android学习---TabHost

    TabHost

    一个简单的示例:

    布局文件:

    <?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>

    实现代码:

    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;
        }
    }

    效果:

  • 相关阅读:
    Oracle学习
    挑战练习11.5 恢复CrimeFragment的边距
    844. Backspace String Compare
    496. Next Greater Element I
    682. Baseball Game
    707. Design Linked List
    挑战练习10.6 实现高效的RecyclerView刷新
    挑战练习9.5 日期格式化
    挑战练习8.8 RecyclerView ViewType
    挑战练习6.5 限制作弊次数
  • 原文地址:https://www.cnblogs.com/lea-fu/p/3299465.html
Copyright © 2011-2022 走看看