最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android開發(fā)之TabActivity用法實例詳解

 更新時間:2016年03月02日 09:11:10   作者:炫_愛羊  
這篇文章主要介紹了Android開發(fā)之TabActivity用法,結合實例形式較為詳細的分析了Android擴展Activity實現(xiàn)標簽頁效果的具體步驟與相關技巧,需要的朋友可以參考下

本文實例講述了Android開發(fā)之TabActivity用法。分享給大家供大家參考,具體如下:

一.簡介

TabActivity繼承自Activity,目的是讓同一界面容納更多的內容。TabActivity實現(xiàn)標簽頁的功能,通過導航欄對各個頁面進行管理。

二.XML布局文件

注意:

1.TabActivity的布局文件要求以TabHost作為XML布局文件的根。

2.通常我們采用線性布局,所以<TabHost> 的子元素是 <LinearLayout>。

3.<TabWidget>對應Tab
<FrameLayout>則用于包含Tab需要展示的內容
需要注意的是<TabWidget> 和<FrameLayout>的Id 必須使用系統(tǒng)id,分別為android:id/tabs 和 android:id/tabcontent 。
因為系統(tǒng)會使用者兩個id來初始化TabHost的兩個實例變量(mTabWidget 和 mTabContent)。

4.代碼示例

<?xml version="1.0" encoding="utf-8"?>
<TabHost android:id="@android:id/tabhost"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
  <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
  <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
  </TabWidget>
  <FrameLayout android:id="@android:id/tabcontent"
       android:layout_width="match_parent"
       android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
</TabHost>

三.TabActivity

1.TabHost:TabHost是Tab的載體,用來管理Tab。

2.TabHost的一些函數(shù)

(1)獲取

TabHost tabHost=this.getTabHost();

(2) 創(chuàng)建TabHost.TabSpec

public TabHost.TabSpec newTabSpec (String tag)

(3)添加tab

public void addTab (TabHost.TabSpec tabSpec)

(4)remove所有的Tabs

public void clearAllTabs ()
public int getCurrentTab ()

(5)  設置當前的Tab (by index)

public void setCurrentTab (int index)

(6) 設置當前的(Tab by tag)

public void setCurrentTabByTag (String tag)

(7)設置TabChanged事件的響應處理

public void setOnTabChangedListener (TabHost.OnTabChangeListener l)

3.TabHost.TabSpec要設置tab的label和content,需要設置TabHost.TabSpec類。TabHost.TabSpec管理:

public String getTag ()
public TabHost.TabSpec setContent
public TabHost.TabSpec setIndicator

(1)Indicator這里的Indicator 就是Tab上的label,它可以

設置label :

setIndicator (CharSequence label)

設置label和icon :

setIndicator (CharSequence label, Drawable icon)

指定某個view :

setIndicator (View view)

(2)Content對于Content ,就是Tab里面的內容,可以

設置View的id :

setContent(int viewId)

用new Intent 來引入其他Activity的內容:setContent(Intent intent)

package com.zhanglong.music;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TabHost;
public class MainActivity extends TabActivity
{
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
     WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.main);
    Resources res = getResources();
    TabHost tabHost = getTabHost();
    TabHost.TabSpec spec;
    Intent intent;
    intent = new Intent().setClass(this, ListActivity.class);
    spec = tabHost.newTabSpec("音樂").setIndicator("音樂",
             res.getDrawable(R.drawable.item))
           .setContent(intent);
    tabHost.addTab(spec);
    intent = new Intent().setClass(this, ArtistsActivity.class);
    spec = tabHost.newTabSpec("藝術家").setIndicator("藝術家",
             res.getDrawable(R.drawable.artist))
           .setContent(intent);
    tabHost.addTab(spec);
    intent = new Intent().setClass(this, AlbumsActivity.class);
    spec = tabHost.newTabSpec("專輯").setIndicator("專輯",
             res.getDrawable(R.drawable.album))
           .setContent(intent);
    tabHost.addTab(spec);
    intent = new Intent().setClass(this, SongsActivity.class);
    spec = tabHost.newTabSpec("最近播放").setIndicator("最近播放",
             res.getDrawable(R.drawable.album))
           .setContent(intent);
    tabHost.addTab(spec);
    tabHost.setCurrentTab(0);
  }
}

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

相關文章

最新評論

温泉县| 望谟县| 阿拉尔市| 墨玉县| 龙井市| 西充县| 高陵县| 霍林郭勒市| 茂名市| 绵阳市| 黄冈市| 高安市| 寻乌县| 揭东县| 株洲市| 胶南市| 滕州市| 扎鲁特旗| 辽宁省| 怀来县| 湟源县| 蓬安县| 浮梁县| 巴彦县| 临夏县| 南木林县| 阿瓦提县| 乌鲁木齐县| 合作市| 宜宾市| 赤峰市| 略阳县| 阜阳市| 延长县| 海伦市| 古蔺县| 同江市| 汕尾市| 江都市| 黄冈市| 岳普湖县|