本教學適用於ios系統,決勝時刻手遊在國區還未上線,那麼,如何下載及登陸呢?接下來小編為您帶來相關教學。1首先,在桌面開啟【App Store】,在搜尋欄中搜尋【決勝時刻】,可以看到,結果
2020-11-29 13:46:59
TabWidget類似於通話記錄的介面,通過切換多個標籤從而顯示出多個不同內容,能夠展示內容豐富的頁面資訊,而且彼此之間不會干擾,有利於展示。下面,通過一個例子來學習用法
首先,新建一個android專案叫做TbHostShow,其他引數可以自己設定,之後點選完成,得到結果圖如下:
在開發之前,我們要首先了解,TabHost是整個Tab的容器,包括兩部分,TabWidget和FrameLayout。TabWidget就是每個tab的標籤,FrameLayout則是tab內容。接著我們開始初始化main.xml。
首先宣告TabHost,包含TabWidget,FrameLayout元素。
<TabHost
android:id="@android:id/tabhost" //宣告控制元件ID
android:layout_width="fill_parent" //控制元件寬度與父控制元件一致
android:layout_height="fill_parent"> //控制元件高度與父控制元件一致
宣告TabWidget,tab分頁
<TabWidget
android:layout_width="fill_parent" //控制元件寬度與父控制元件一致
android:layout_height="wrap_content" //控制元件高度與自身適應
android:id="@android:id/tabs"> //宣告控制元件ID
宣告FrameLayout,tab頁裡的內容資訊
<FrameLayout
android:layout_width="fill_parent" //控制元件寬度與父控制元件一致
android:layout_height="wrap_content" //控制元件高度與自身適應
android:id="@android:id/tabcontent"> //宣告控制元件ID
注意下:
如果我們使用extends TabAcitivty,如同ListActivity,TabHost必須設定為@android:id/tabhost TabWidget必須設定android:id為@android:id/tabs FrameLayout需要設定android:id為@android:id/tabcontent
宣告FrameLayout裡面的內容資訊
第一個介面內容:宣告一個線性布局,宣告一個TextView,展示內容這是TAB 1
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tab1">
<TextView android:id="@+id/TextView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="這是TAB 1">
</TextView>
</LinearLayout>
第二個介面內容,宣告了一個鬧鐘控制元件
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tab2">
<AnalogClock android:id="@+id/analogclock1"
android:layout_width="fill_parent" android:layout_height="wrap_content"
></AnalogClock>
</LinearLayout>
第三個介面,宣告一個展示框,內容顯示這是TAB 3,文字編輯控制元件
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
android:id="@+id/tab3">
<TextView android:id="@+id/TextView3"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="這是TAB 3"></TextView>
</LinearLayout>
新增主體的方法函數,將public class TbHostView extends Activity 修改為public class TbHostView extends TabActivity ,首先是範例化TabHost,然後向TabHost中新增tab頁
//新增幾個Tab
mTabHost.addTab(
//分頁名稱為Tab_test1
mTabHost.newTabSpec("Tab_test1").
//指定圖片來源,
setIndicator("TAB1",getResources().
//圖片ID
getDrawable(android.R.drawable.ic_btn_speak_now)).
//新增LinearLayout ID為tab1的介面
setContent(R.id.tab1));
//新增幾個Tab
mTabHost.addTab(
//分頁名稱為Tab_test2
mTabHost.newTabSpec("tab_text2").
//指定圖片來源,
setIndicator("TAB2",getResources().
//圖片ID
getDrawable(android.R.drawable.ic_menu_add)).
//新增LinearLayout ID為tab2的介面
setContent(R.id.tab2));
mTabHost.addTab(mTabHost.
//分頁名稱為Tab_test3
newTabSpec("tab_test3").
//指定圖片來源,圖片ID 新增LinearLayout ID為tab2的介面
setIndicator(
"TAB3",getResources().getDrawable(android.R.drawable.ic_menu_camera))
.setContent(R.id.tab3));
//設定背景
mTabHost.setBackgroundColor(Color.argb(150,22,70,153));
//預設展示第一個tab頁
mTabHost.setCurrentTab(0);
//處理tab頁 切換時觸發的事件,這裡展示一個提示框
mTabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
// TODO Auto-generated method stub
Dialog dialog = new AlertDialog.Builder(TbHostView.this)
.setTitle("提示")
.setMessage("當前選中:"+tabId+"標籤")
.setPositiveButton("確定",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
dialog.cancel();
}
}).create();//建立按鈕
dialog.show();
}
});
程式執行結果展示,
相關文章
本教學適用於ios系統,決勝時刻手遊在國區還未上線,那麼,如何下載及登陸呢?接下來小編為您帶來相關教學。1首先,在桌面開啟【App Store】,在搜尋欄中搜尋【決勝時刻】,可以看到,結果
2020-11-29 13:46:59
當我們在玩決勝時刻11-決勝時刻的時候如何進入監獄呢?1進入監獄,被士兵拉下車後,可以看到開啟的門,按住w鍵向大門走去,等待電梯的下降。 2隊友被拽倒在地,按住w繼續往前走,被帶著頭
2020-11-29 05:28:59
悟飯趣玩是一款可以直接下載遊戲的一款軟體,有很多朋友不知道如何下載,我在這裡出個教學。有需要的朋友可以看看。1第一步,開啟手機悟飯趣玩。 2第二步,點選psp類型遊戲。 3
2020-07-23 10:29:44
ps4惡靈古堡6怎麼雙人呢,還是有很多的小夥伴們不知道吧,現在我就來為朋友們簡單的介紹一下吧。1首先,我們大家先來一起看,如果是本地雙人的話就需要先進入我們的遊戲,再去選擇模
2020-07-23 10:29:42
許多小夥伴都喜歡玩墓麗影10:崛起那怎麼調中文字幕及語音?接下來我給大家簡單分享一下我的經驗,這次的古墓奇兵還有中文語音哦!1首先,我們開啟電腦,進入遊戲古墓奇兵這款遊戲,進入
2020-07-23 10:29:30
現在使用蘋果手機的小夥伴越來越多,那麼很多人想在蘋果手機上下載facebook卻不知道具體的操作方法,這裡小編就給大家介紹下蘋果手機怎麼下載facebook,希望能幫助到大家。 1首先
2019-12-26 05:53:33