欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android TabWidget切換卡的實現(xiàn)應(yīng)用

 更新時間:2013年04月18日 17:25:43   作者:  
本篇文章小編為大家介紹,Android TabWidget切換卡的實現(xiàn)應(yīng)用。需要的朋友參考下

TabWidget類似于Android 中查看電話薄的界面,通過多個標簽切換顯示不同內(nèi)容。要實現(xiàn)這一效果,首先要了解TabHost,它是一個用來存放多個Tab標簽的容器。每一個Tab都可以對應(yīng)自己的布局,比如,電話薄中的Tab布局就是一個List的線性布局了。 
要使用TabHost,首先需要通過getTabHost方法來獲取TabHost的對象,然后通過addTab方法來向TabHost中添加 Tab。當然每個Tab在切換時都會產(chǎn)生一個事件,要捕捉這個事件需要設(shè)置TabActivity的事件監(jiān)聽 setOnTabChangedListener。

1、布局文件

<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:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <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/textview1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="Linux"
        android:textColor="#FF0000" />

      <TextView
        android:id="@+id/textview2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="MAC"
        android:textColor="#385E0F" />

      <TextView
        android:id="@+id/textview3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="Windows"
        android:textColor="#1E90FF" />
    </FrameLayout>
  </LinearLayout>

</TabHost>

2、修改MainActivity,注意是繼承自TabActivity

public class MainActivity extends TabActivity {

 private TabHost tabHost;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 tabHost = getTabHost();

 addTab();// 添加標簽
 // 設(shè)置TabHost背景顏色
 tabHost.setBackgroundColor(Color.argb(150, 20, 80, 150));
 // 設(shè)置TabHost背景圖片資源
 tabHost.setBackgroundResource(R.drawable.ic_launcher);
 // 設(shè)置當前顯示哪一個標簽 我的理解就是當你第一次啟動程序默認顯示那個標簽 這里是指定的選項卡的ID從0開始
 tabHost.setCurrentTab(0);
 // 標簽切換事件處理,setOnTabChangedListener 注意是標簽切換事件不是點擊事件,而是從一個標簽切換到另外一個標簽會觸發(fā)的事件
 tabHost.setOnTabChangedListener(new OnTabChangeListener() {
  @Override
  public void onTabChanged(String tabId) {
  AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
  Dialog dia;
  builder.setTitle("提示");
  builder.setMessage("當前選中了" + tabId + "標簽");
  builder.setPositiveButton("確定", new OnClickListener() {
   @Override
   public void onClick(DialogInterface dialog, int which) {
   dialog.cancel();
   }
  });
  dia = builder.create();
  dia.show();
  }
 });
 }

 // 為TabHost添加標簽 新建一個newTabSped(new TabSpec) 設(shè)置其標簽和圖標(setIndicator)、設(shè)置內(nèi)容(setContent)
 // TabSpec是TabHost的內(nèi)部類 TabHost對象的 newTabSpec()方法返回一個TabSpec對象
 // 源碼里邊是這么寫的 public TabSpec newTabSpec(String tag)
 // { return new TabSpec(tag); }
 private void addTab() {
 tabHost.addTab(tabHost
  .newTabSpec("tab1")
  .setIndicator("TAB1",
   getResources().getDrawable(R.drawable.ic_launcher))// setIndicator()此方法用來設(shè)置標簽和圖表
  .setContent(R.id.textview1));
 // 指定內(nèi)容為一個TextView --->public TabHost.TabSpec setContent(int viewId) 此方法需要一個 viewId 作為參數(shù)
 tabHost.addTab(tabHost
  .newTabSpec("tab2")
  .setIndicator("TAB2",
   getResources().getDrawable(R.drawable.ic_launcher))
  .setContent(R.id.textview2));

 tabHost.addTab(tabHost
  .newTabSpec("tab3")
  .setIndicator("TAB3",
   getResources().getDrawable(R.drawable.ic_launcher))
  .setContent(R.id.textview3));
 }
}

 3、運行程序:如下!

相關(guān)文章

  • android實現(xiàn)NFC讀寫功能

    android實現(xiàn)NFC讀寫功能

    這篇文章主要為大家詳細介紹了android實現(xiàn)NFC讀寫功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Android 程序執(zhí)行Linux命令的解決方法及注意事項

    Android 程序執(zhí)行Linux命令的解決方法及注意事項

    這篇文章主要介紹了Android 程序執(zhí)行LINUX命令的解決方法及注意事項,本文通過問題描述最終到解決方法,給大家介紹的非常詳細,需要的朋友可以參考下
    2017-12-12
  • android藍牙控制PC端代碼分享

    android藍牙控制PC端代碼分享

    這篇文章主要為大家分享了android藍牙控制PC端的詳細代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android獲取手機位置的實現(xiàn)代碼

    Android獲取手機位置的實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了Android獲取手機位置的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android編程設(shè)計模式之抽象工廠模式詳解

    Android編程設(shè)計模式之抽象工廠模式詳解

    這篇文章主要介紹了Android編程設(shè)計模式之抽象工廠模式,結(jié)合實例形式詳細分析了Android抽象工廠模式的概念、原理、使用方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-12-12
  • Android使用Scrolling機制實現(xiàn)Tab吸頂效果

    Android使用Scrolling機制實現(xiàn)Tab吸頂效果

    app 首頁中經(jīng)常要實現(xiàn)首頁頭卡共享,tab 吸頂,內(nèi)容區(qū)通過 ViewPager 切換的需求,以前往往是利用事件處理來完成,但是這些也有一定的弊端和滑動方面不如意的地方,本文我們利用NestedScrolling機制來實現(xiàn),感興趣的朋友可以參考下
    2024-01-01
  • Android 實現(xiàn)密碼輸入框動態(tài)明文/密文切換顯示效果

    Android 實現(xiàn)密碼輸入框動態(tài)明文/密文切換顯示效果

    在項目中遇到需要提供給用戶一個密碼輸入框明文/密文切換顯示的需求,今天小編借腳本之家平臺給大家分享下Android 實現(xiàn)密碼輸入框動態(tài)明文/密文切換顯示效果,需要的朋友參考下
    2017-01-01
  • Flutter實現(xiàn)固定header底部滑動頁效果示例

    Flutter實現(xiàn)固定header底部滑動頁效果示例

    這篇文章主要為大家介紹了Flutter實現(xiàn)固定header底部滑動頁效果示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 老生常談onTouch和onTouchEvent(必看篇)

    老生常談onTouch和onTouchEvent(必看篇)

    下面小編就為大家?guī)硪黄仙U刼nTouch和onTouchEvent(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Android原生ViewPager控件實現(xiàn)卡片翻動效果

    Android原生ViewPager控件實現(xiàn)卡片翻動效果

    這篇文章主要為大家詳細介紹了Android原生ViewPager控件實現(xiàn)卡片翻動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評論