• android用户界面组件Widget选项卡Tab


    使用Tab的步骤:
    1、在布局文件中使用FrameLayout列出Tab组件及Tab中的内容组件。

    2、Activity要继承TabActivity。

    3、调用TabActivity的getTabHost()方法获得TabHost对象。

    4、通过TabHost创建Tab选项。

    /Chapter04_UI_Tab01/src/com/amaker/test/MainActivity.java

    代码
    package com.amaker.test;

    import android.app.TabActivity;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Window;
    import android.view.WindowManager;
    import android.widget.TabHost;
    import android.widget.Toast;
    import android.widget.TabHost.OnTabChangeListener;

    public class MainActivity extends TabActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    /* requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    */

    TabHost th
    = getTabHost();

    LayoutInflater.from(
    this).inflate(R.layout.main, th.getTabContentView(), true);

    th.addTab(th.newTabSpec(
    "all").setIndicator("所有通话记录").setContent(R.id.TextView01));
    th.addTab(th.newTabSpec(
    "ok").setIndicator("已接来电").setContent(R.id.TextView02));
    th.addTab(th.newTabSpec(
    "cancel").setIndicator("未接来电").setContent(R.id.TextView03));


    th.setOnTabChangedListener(
    new OnTabChangeListener() {
    @Override
    public void onTabChanged(String tabId) {
    Toast.makeText(MainActivity.
    this, tabId, Toast.LENGTH_LONG).show();
    }
    }
    );



    }
    }

    /Chapter04_UI_Tab01/res/layout/main.xml

    代码
    <?xml version="1.0" encoding="utf-8"?>

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id
    ="@+id/FrameLayout01"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content">

    <TextView
    android:id="@+id/TextView01"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:text
    ="所有通话记录"></TextView>

    <TextView
    android:id="@+id/TextView02"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:text
    ="已接来电"></TextView>

    <TextView
    android:id="@+id/TextView03"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:text
    ="未接来电"></TextView>

    </FrameLayout>


    通过实现一个接口TabHost.TabContentFactory的createTabContent方法来制定Tab的内容

    /Chapter04_UI_Tab02/src/com/amaker/test/MainActivity.java

    代码
    package com.amaker.test;

    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;

    public class MainActivity extends TabActivity implements
    TabHost.TabContentFactory {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TabHost th
    = getTabHost();
    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(
    "tom");
    list.add(
    "kite");
    list.add(
    "rose");
    }
    else if(tag.equals("ok")){
    list.add(
    "tom");
    list.add(
    "kite");
    }
    else{
    list.add(
    "rose");
    }

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

    /Chapter04_UI_Tab02/res/layout/main.xml

    代码
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
    ="vertical"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="fill_parent"
    >
    <TextView
    android:layout_width="fill_parent"
    android:layout_height
    ="wrap_content"
    android:text
    ="@string/hello"
    />
    </LinearLayout>
  • 相关阅读:
    HDU_1006_Tick and Tick
    HDU_1011_Starship Troopers_树型dp
    HDU_1520_Anniversary party_树型dp
    HDU_1176_免费馅饼_16.4.23再做
    HDU_1203_01背包
    HDU_1421_搬寝室_dp
    HDU_1505_矩阵中的最大矩形_dp
    STL_map的使用
    Semantic-UI-React (称 stardust) 对比 Antd
    meteor 为基础,联合 Apollo + React + React-Router
  • 原文地址:https://www.cnblogs.com/linzheng/p/1938751.html
Copyright © 2020-2023  润新知