選項卡切換

2022-03-28 06:13:43 字數 3131 閱讀 3364

引用:

相信使用過android手機的朋友都見過下面樣子的選項卡,本文我們嘗試做的演示。

這個選項卡頁面,或者說是標籤卡。分為兩部分:

乙個頂部的按鈕(可點選的)的切換卡部分

乙個主內容區(上圖顯示「第二個窗體」字型的)的主顯示區。

我們想實現的效果是點選切換的選項卡卡部分,主顯示區的內容隨之改變。那麼我們看下頁面布局**

<

tabhost  

xmlns: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_width

="fill_parent"

android:layout_height

="wrap_content"

android:paddingleft

="1dip"

android:paddingright

="1dip"

android:paddingtop

="4dip"

/>

<

framelayout 

android:id

="@android:id/tabcontent"

android:layout_width

="fill_parent"

android:layout_height

="1dip"

android:layout_weight

="1"

/>

linearlayout

>

tabhost

>

如上面的**所示:

整個窗體在乙個tabhost

元素下。tabhost是根

元素。他包含了乙個子布局物件linearlayout,這個布局物件的方向為「vertical」,注意這個垂直方向。它指示了如何排列這個布局物件的子物件,也就是它指示了tabwidget 和

framelayout 

這兩個控制項的排列。我們目前的排列是 tabwidget 

在上,framelayout 

在下。如果想實現「選項卡標籤在底部的效果」,嘗試下relativelayout吧。

tabwidget 就是標籤卡物件。就是用來切換的那個頂部標籤卡。注意id必須為@android:id/tabs

framelayout 是內容區域,當標籤卡變化時,這裡的內容會隨之變化。注意id必須為@android:id/tabcontent

布局構建完畢後。下一步要做的,就是如何為這個布局新增子選項卡了。

首先,讓我們的activty繼承自tabactivity 

public

class

acttabactivitydemo1 

extends

tabactivity 

在oncreate時獲得tabhost物件,並新增選項卡

_tabhost 

=gettabhost();

addtabpage1(); //執行新增子選項卡的方法

我們看下addtabpage1()方法的具體實現。

intent internt1 

=new

intent();

internt1.setclass(

this

,act1.

class

);tabspec tabspec 

=_tabhost.newtabspec(

"act1");

//指定選項卡的顯示名稱

tabspec.setindicator(

"選項卡一");

//指定跳轉方向

tabspec.setcontent(internt1);          

_tabhost.addtab(tabspec);

如上面的**所示,我們構建了乙個tabspec 物件,並呼叫_tabhost.addtab(tabspec);方法,將這個物件加入到選項卡集合中。

tabspec.setindicator 指定選項卡的顯示名稱。

tabspec.setcontent(internt1);  指定跳轉方向,在這裡指定了當頂部的標籤卡被指定時,執行的intent 物件。我們常常使用intent 來做窗體間的跳轉。

完成了上述步驟後,就可以具體實現 具體的選項卡 裡的布局(內容)了。

下面貼出完成的activity**

package

demo.tabactivitydemo1;

import

import

import

android.content.intent;

import

android.os.bundle;

import

android.widget.tabhost;

import

android.widget.tabhost.tabspec;

public

class

acttabactivitydemo1 

extends

tabactivity  

private

void

addtabpage1() 

private

void

addtabpage2() 

}

選項卡切換

方法一 class box class title 111h2 222h2 333h2 444h2 div class cont 第乙個新聞內容p 第二個新聞內容p 第三個新聞內容p 第四個新聞內容p div div var ah2 document.queryselectorall title h...

react tab選項卡切換

tab選項卡切換是個很常見也很簡單的小功能,用原生js和jq去寫的話可能不到20行 就搞定so easy。但是用react去實現就沒那麼容易了 是自己react比較菜 由於最近在重新學習react就試著寫了乙個tab切換的小列子。還有多可優化的地方希望能拋磚引玉 簡單寫了點注釋 html js im...

選項卡(點選切換)

275萬購昌平鄰鐵三居 總價20萬買一居 200萬內購五環三居 140萬安家東三環 北京首現零首付樓盤 53萬購東5環50平 京樓盤直降5000 中信府 公園樓王現房 40平出租屋大改造 美少女的混搭小窩 經典清新簡歐愛家 90平老房煥發新生 新中式的酷色溫情 66平撞色活潑家居 瓷磚就像選好老婆 ...