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

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

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

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

一.簡(jiǎn)介

TabActivity繼承自Activity,目的是讓同一界面容納更多的內(nèi)容。TabActivity實(shí)現(xiàn)標(biāo)簽頁(yè)的功能,通過導(dǎo)航欄對(duì)各個(gè)頁(yè)面進(jìn)行管理。

二.XML布局文件

注意:

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

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

3.<TabWidget>對(duì)應(yīng)Tab
<FrameLayout>則用于包含Tab需要展示的內(nèi)容
需要注意的是<TabWidget> 和<FrameLayout>的Id 必須使用系統(tǒng)id,分別為android:id/tabs 和 android:id/tabcontent 。
因?yàn)橄到y(tǒng)會(huì)使用者兩個(gè)id來初始化TabHost的兩個(gè)實(shí)例變量(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)  設(shè)置當(dāng)前的Tab (by index)

public void setCurrentTab (int index)

(6) 設(shè)置當(dāng)前的(Tab by tag)

public void setCurrentTabByTag (String tag)

(7)設(shè)置TabChanged事件的響應(yīng)處理

public void setOnTabChangedListener (TabHost.OnTabChangeListener l)

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

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

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

設(shè)置label :

setIndicator (CharSequence label)

設(shè)置label和icon :

setIndicator (CharSequence label, Drawable icon)

指定某個(gè)view :

setIndicator (View view)

(2)Content對(duì)于Content ,就是Tab里面的內(nèi)容,可以

設(shè)置View的id :

setContent(int viewId)

用new Intent 來引入其他Activity的內(nèi)容: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("藝術(shù)家").setIndicator("藝術(shù)家",
             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);
  }
}

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

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

通化县| 厦门市| 邛崃市| 余干县| 汝阳县| 丹江口市| 嵊泗县| 凯里市| 新密市| 徐汇区| 滨州市| 巫山县| 奉贤区| 海南省| 英超| 海晏县| 象山县| 那坡县| 永胜县| 乐业县| 阿拉善左旗| 松江区| 峨眉山市| 介休市| 湛江市| 镇赉县| 丹棱县| 龙泉市| 微山县| 博爱县| 巨野县| 南昌县| 博客| 乐东| 瑞金市| 禄丰县| 武定县| 子长县| 阳西县| 新巴尔虎左旗| 高要市|