哎呀呀劲弦,,最近怎么搞醇坝?R毓颉!感覺學(xué)習(xí)進(jìn)度實在太慢了呼猪,但是熬夜通宵寶寶實在是做不到盎!V5夜赵!不知道大神們通宵碼代碼,第二天是怎么正常上班的乡革?還是說大家都是自由職業(yè)者寇僧。。沸版。小小的發(fā)個牢騷嘁傀,實際上還是自己不夠努力。视粮。细办。廢話不多說,今天簡單了解一下TabHost吧蕾殴。
一笑撞、TabHost是什么
TabHost是一個可以在界面中放置多個選項卡的控件,它可實現(xiàn)的效果圖如下:
二钓觉、TabHost的常用組件
TabWidget:該組件就是TabHost標(biāo)簽頁中上部或者下部的按鈕茴肥,可以點擊按鈕切換選項卡。
TabSpec:代表了選項卡界面
newTabSpec(String tag) : 創(chuàng)建一個選項卡
addTab(tabSpec):添加選項卡
三荡灾、TabHost使用步驟(帶例子)
1瓤狐、定義布局:在XML文件中使用TabHost組件,并在其中定義一個FrameLayout選項卡內(nèi)容批幌。
在這一步础锐,我是直接通過布局文件的Design功能把TabHost控件拖到布局中的,這樣比較簡單荧缘,當(dāng)然皆警,還是要仔細(xì)看一下布局代碼。代碼如下:
在布局文件中截粗,TabHost可設(shè)置為Android自帶的id耀怜,即:android:id="@android:id/tabhost"恢着,這樣做的原因是可以直接在Activity中調(diào)用getTabHost()調(diào)用TabHost對象。
然后我們可以設(shè)置三個Activity:Tab1财破、Tab2、Tab3,并創(chuàng)建三個對應(yīng)的布局文件activity_tab1从诲、activity_tab2左痢、activity_tab3。我們將三個布局文件中加入一個TextView寫上一句話系洛,用來區(qū)分三個布局俊性。這里放上activity_tab1的代碼:
2、繼承TabActivity
即顯示選項卡組件的Activity要繼承TabActivity描扯。我的選項卡直接放到了MainActivity中定页,所以MainActivity要繼承TabActivity,如下圖:
3、獲取組件
通過調(diào)用getTabHost()方法绽诚,獲取TabHost()對象典徊。
4、創(chuàng)建添加選項卡
通過TabSpec創(chuàng)建添加選項卡恩够,具體代碼如下:
Activity的整體代碼如下:
5卒落、怎能不來看看效果
我隱藏了系統(tǒng)標(biāo)題(具體做法可在我的博客中查看,其中有一篇文件專門講了隱藏系統(tǒng)標(biāo)題的幾種方法)蜂桶。最后效果如下:
注:如果想讓選項卡按鈕位于底部儡毕,可采用如下方法:
方法一绢陌、 1植阴、將tabcontent和tabs交換位置
2、設(shè)置tabcontent的屬性:android:layout_weight= "1"
方法二处坪、1疆股、將tabcontent和tabs交換位置
2费坊、將tabs放到一個relativeLayout中,然后加上如下屬性: ? ? ? ? ? ? ? ? ? ? ? ? ? ? android:layout_alignParentBottom="true"
方法三押桃、1葵萎、將tabcontent和tabs交換位置(tabs移動到LinearLayout標(biāo)簽以下)
2、在tabcontent中加入屬性:android:layout_gravity = "top"
3唱凯、在tabs中加入屬性:android:layout_gravity = "bottom"