Android学习——TabHost的使用一
TabHost是一种非常使用的组件,TabHost可以方便的在窗口上放置多个标签页,每个标签页相当于或得了一个与外部容器相同大小的组件摆放区域。
与TabHost 结合使用的组件
TabWidget:代表选项卡的标签条。
TabSpec:代表选项卡的一个Tab页面。
创建添加选项卡的方法:
newTabSpec():创建选项卡
addTab():添加选项卡
使用TabHost的步骤:
在界面布局中定义TabHost组件
Activity继承TabActivity
调用TabActivity的getTabHost()方法获取TabHost
通过TabHost对象的方法来创建添加选项卡。
如果程序需要监控TabHost里当前标签页的改变,可以为他设置TabHost.onTabChangeListener 的监听器。
实例:1
<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="毓璜顶小学"android:textSize="20sp"/></LinearLayout><TabHostandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@android:id/tabhost"android:layout_weight="1"><!--引用android系统已有的id--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TabWidgetandroid:id="@android:id/tabs"android:layout_width="match_parent"android:layout_height="wrap_content"></TabWidget><FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="match_parent"android:layout_height="match_parent"><!--定义第一个标签页的内容--><LinearLayoutandroid:id="@+id/tab01"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:text="消息页面"android:textSize="30sp"/></LinearLayout><LinearLayoutandroid:id="@+id/tab02"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:text="班级页面"android:textSize="30sp"/></LinearLayout><LinearLayoutandroid:id="@+id/tab03"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:text="我的页面"android:textSize="30sp"/></LinearLayout></FrameLayout></LinearLayout></TabHost></LinearLayout>
注意:
android:id="@android:id/tabhost"android:id="@android:id/tabs"android:id="@android:id/tabcontent"引用android系统已有的id
publicclassMainActivityextendsTabActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main_activity);//获取tabhost组件TabHosttabHost=getTabHost();//创建第一个Tab页TabHost.TabSpectab1=tabHost.newTabSpec("tab1").setIndicator("班级")//设置标题.setContent(R.id.tab01);//添加第一个tab页tabHost.addTab(tab1);TabHost.TabSpectab2=tabHost.newTabSpec("tab2").setIndicator("消息")//设置标题.setContent(R.id.tab02);//添加第一个tab页tabHost.addTab(tab2);TabHost.TabSpectab3=tabHost.newTabSpec("tab3").setIndicator("我")//设置标题.setContent(R.id.tab03);//添加第一个tab页tabHost.addTab(tab3);}}
注意:最新版本的Android推荐使用Fragment 代替TabActivity
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。