Android之TabHost布局
1.概念 盛放Tab的容器就是TabHost。TabHost的实现有两种方式: 第一种继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。各个Tab中的内容在布局文件中定义就行了。 第二种方式,不继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。 2.案例 1)继承TabActivity res/layout/main.xml <TabHost xmlns:android=”http://schemas.android.com/apk/res/android" android:layout_width=”fill_parent” android:layout_height=”fill_parent”> <LinearLayout android:id=”@+id/tab01” 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=”孙悟空-2011/07/12”/> <TextView android:layout_width=”fill_parent” android:layout_height=”wrap_content” android:text=”猪八戒-2011/07/10”/> <LinearLayout android:id=”@+id/tab02” 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=”萨僧-2011/07/11”/> <TextView android:layout_width=”fill_parent” android:layout_height=”wrap_content” android:text=”唐僧-2011/07/10”/> <LinearLayout android:id=”@+id/tab03” 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=”孙悟空-2011/07/12”/> <TextView android:layout_width=”fill_parent” android:layout_height=”wrap_content” android:text=”萨僧-2011/07/08”/> HelloTabHost.java public class HelloTabHost extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //调用TabActivity的getTabHost()方法获取TabHost对象 TabHost tabHost = getTabHost(); //设置使用TabHost布局 LayoutInflater.from(this).inflate(R.layout.main, tabHost.getTabContentView(),true); //添加第一个标签页 tabHost.addTab(tabHost.newTabSpec(“tab01”).setIndicator(“已接电话”).setContent(R.id.tab01)); //添加第二个标签页,并在其标签上添加一个图片 tabHost.addTab(tabHost.newTabSpec(“tab02”).setIndicator(“未接电话”,getResources().getDrawable(R.drawable.icon)).setContent(R.id.tab02)); //添加第三个标签页 tabHost.addTab(tabHost.newTabSpec(“tab03”).setIndicator(“已拨电话”).setContent(R.id.tab03)); } } 2)不继承TabActivity 继承普通Activity,