标签的使用方式
如果想实现这种标签的显示界面,有两种方式
方式一、直接让一个Activity程序继承TabActivity
1、如果一个程序Activity程序继承了TabActivity类,则直接可以利用getTabHost()方法就可以取得一个TabHost类的对象
2、在标签界面显示的时候,由于现在不是通过<TabHost>元素在布局管理器中定义组件形式,无法使用findViewById()方法进行TabHost对象的实例化,那么就可以通过LayoutInflater类完成布局管理器中定义组件的实例化操作(将布局管理器设置到某个容器中)
主程序MyTabHostDemo
package com.jackie.tabhostproject;
import android.os.Bundle;
import android.app.Activity;
import android.app.TabActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class MyTabHostDemo extends TabActivity {
private TabHost myTabHost = null;
private int[] layRes = new int[] { R.id.tab_edit, R.id.tab_clock,
R.id.tab_sex };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.myTabHost = super.getTabHost(); // 取得TabHost对象
LayoutInflater.from(this).inflate(R.layout.tab,
this.myTabHost.getTabContentView(), true); //true表示实例化布局中的组件
for(int x=0;x<this.layRes.length;x++){
TabSpec myTab=this.myTabHost.newTabSpec("tab"+x); //"tab"+x 所需的选项卡标签(tag)
myTab.setIndicator("标签-"+x); //设置每个子标签的名字
myTab.setContent(this.layRes[x]);
this.myTabHost.addTab(myTab);
}
}
}
import android.os.Bundle;
import android.app.Activity;
import android.app.TabActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class MyTabHostDemo extends TabActivity {
private TabHost myTabHost = null;
private int[] layRes = new int[] { R.id.tab_edit, R.id.tab_clock,
R.id.tab_sex };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.myTabHost = super.getTabHost(); // 取得TabHost对象
LayoutInflater.from(this).inflate(R.layout.tab,
this.myTabHost.getTabContentView(), true); //true表示实例化布局中的组件
for(int x=0;x<this.layRes.length;x++){
TabSpec myTab=this.myTabHost.newTabSpec("tab"+x); //"tab"+x 所需的选项卡标签(tag)
myTab.setIndicator("标签-"+x); //设置每个子标签的名字
myTab.setContent(this.layRes[x]);
this.myTabHost.addTab(myTab);
}
}
}
自定义的子标签线性布局tab.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/tab_edit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入搜索关键字。。。"
android:textSize="18px" />
<Button
android:id="@+id/myBut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搜索" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab_clock"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<AnalogClock
android:id="@+id/myAnalogClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab_sex"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioButton
android:id="@+id/male"
android:checked="true"
android:text="性别:男" />
<RadioButton
android:id="@+id/female"
android:text="性别:女" />
"
</RadioGroup>
</LinearLayout>
</LinearLayout>
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/tab_edit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入搜索关键字。。。"
android:textSize="18px" />
<Button
android:id="@+id/myBut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搜索" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab_clock"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<AnalogClock
android:id="@+id/myAnalogClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:id="@+id/tab_sex"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioButton
android:id="@+id/male"
android:checked="true"
android:text="性别:男" />
<RadioButton
android:id="@+id/female"
android:text="性别:女" />
"
</RadioGroup>
</LinearLayout>
</LinearLayout>