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又对应一个类,选中这个选项卡时,就显示对应的类。

运行结果如下:

TabHost的使用

你可能感兴趣的:(tabhost)