玩轉Android TabWidget(切換卡)

來源:互聯網
上載者:User
Tab選項卡類似與電話本的介面,通過多個標籤切換不同的內容,要實現這個效果,首先要知道TabHost,它是一個用來存放多個Tab標籤的容器,每一個Tab都可以對應自己的布局,比如,電話本中的Tab布局就是一個線性布局要使用TabHost,首先要通過getTabHost方法擷取TabHost的對象,然後通過addTab方法來向TabHost中添加Tab,當然每個Tab在切換時都會產生一個事件,要捕捉這個事件,需要設定TabActivity的事件監聽setOnTabChangedListener下面是個小例子:TabTest.java     view plaincopy to clipboardprint?   package org.hualang.tab;     import android.app.Activity;     import android.app.TabActivity;     import android.graphics.Color;     import android.os.Bundle;     import android.widget.TabHost;     import android.widget.Toast;     import android.widget.TabHost.OnTabChangeListener;     public class TabTest extends TabActivity {         /** Called when the activity is first created. */         TabHost tabhost;         @Override         public void onCreate(Bundle savedInstanceState) {             super.onCreate(savedInstanceState);             setContentView(R.layout.main);             //取得TabHost對象             tabhost = getTabHost();             //為TabHost添加標籤             //建立一個newTabSpec(newTabSpec)             //設定其標籤和表徵圖(setIndicator)             //設定內容(setContent)             tabhost.addTab(tabhost.newTabSpec("tab1")                     .setIndicator("TAB 1",getResources().getDrawable(R.drawable.img1))                     .setContent(R.id.text1));             tabhost.addTab(tabhost.newTabSpec("tab2")                     .setIndicator("TAB 2",getResources().getDrawable(R.drawable.img2))                     .setContent(R.id.text2));             tabhost.addTab(tabhost.newTabSpec("tab3")                     .setIndicator("TAB 3",getResources().getDrawable(R.drawable.img3))                     .setContent(R.id.text3));             //設定TabHost的背景顏色             //tabhost.setBackgroundColor(Color.argb(150,22,70,150));             //設定TabHost的背景圖片資源             tabhost.setBackgroundResource(R.drawable.bg0);             //設定當前顯示哪個標籤             tabhost.setCurrentTab(0);             //標籤切換事件處理,setOnTabChangedListener             tabhost.setOnTabChangedListener(new OnTabChangeListener()             {                 public void onTabChanged(String tabId)                 {                     Toast toast=Toast.makeText(getApplicationContext(), "現在是"+tabId+"標籤", Toast.LENGTH_SHORT);                     toast.show();                 }             });                      }     }     main.xml<?xml version="1.0" encoding="utf-8"?>     <TabHost xmlns:android="http://schemas.android.com/apk/res/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" />             <FrameLayout                 android:id="@android:id/tabcontent"                 android:layout_width="fill_parent"                 android:layout_height="fill_parent">                 <TextView                      android:id="@+id/text1"                     android:layout_width="fill_parent"                     android:layout_height="fill_parent"                      android:text="選項卡1" />                 <TextView                      android:id="@+id/text2"                     android:layout_width="fill_parent"                     android:layout_height="fill_parent"                      android:text="選項卡2" />                 <TextView                      android:id="@+id/text3"                     android:layout_width="fill_parent"                     android:layout_height="fill_parent"                      android:text="選項卡3" />             </FrameLayout>         </LinearLayout>     </TabHost>    
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.