TabHost的使用

Android中的选项卡是用TabHost实现的。

首先,定义TabHost的布局文件:

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

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@android:id/tabhost" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	
	<LinearLayout android:orientation="vertical" 
		android:layout_width="fill_parent" android:layout_height="fill_parent">
		
		<TabWidget android:id="@android:id/tabs"
			android:layout_alignParentBottom="true" 
			android:layout_width="fill_parent"
			android:layout_height="wrap_content"/>

		<FrameLayout
		    android:id="@android:id/tabcontent"
		    android:layout_width="fill_parent"
		    android:layout_height="fill_parent" />

	</LinearLayout>
	
</TabHost>

其中,TabWidget即是选项卡上面的标签,FrameLayout是选项卡的内容。

在Java类文件中定义如下:

public class MainActivity extends TabActivity {
	
	private TabHost my_tabhost;  
	private TabWidget my_tabwidget;
	private int i,k;
	private TextView tv;
	
	private String[] tabMenu = { "系统", "硬件", "操作"}; 
	private Intent intent0, intent1, intent2;
	private Intent[] intents = { intent0, intent1, intent2}; 
	private TabHost.TabSpec tabSpec0, tabSpec1, tabSpec2, tabSpec3;
	private TabHost.TabSpec[] tabSpecs = { tabSpec0, tabSpec1, tabSpec2, tabSpec3};
	
	public static Context mContext;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
                // 不要窗体标题
               requestWindowFeature(Window.FEATURE_NO_TITLE);
               setContentView(R.layout.activity_main);
		setContentView(R.layout.activity_main);
		
		my_tabhost = getTabHost();
		
		intent0 = new Intent(this, system.class);
		intent1 = new Intent(this, hardware.class);
		intent2 = new Intent(this, operation.class);
		
		tabSpec0 = my_tabhost.newTabSpec("system").setIndicator(tabMenu[0],null).
				setContent(intent0);
		tabSpec1 = my_tabhost.newTabSpec("hardware").setIndicator(tabMenu[1],null).
				setContent(intent1);
		tabSpec2 = my_tabhost.newTabSpec("operation").setIndicator(tabMenu[2],null).
				setContent(intent2);
		
		my_tabhost.addTab(tabSpec1);
		my_tabhost.addTab(tabSpec0);
		my_tabhost.addTab(tabSpec2);

     // 设置默认选中的选项卡为第2个 my_tabhost.setCurrentTab(1); } }

每一个选项卡对应一个Intent,每一个Intent又对应一个类,选中这个选项卡时,就显示对应的类。

运行结果如下:

posted @ 2013-11-15 11:24  MSTK  阅读(386)  评论(0编辑  收藏  举报