本文來自http://blog.csdn.net/hellogv/ ,引用必須註明出處!
很多客戶端軟件和瀏覽器軟件都喜歡用Tab分頁標籤來搭建界面框架。讀者也許會馬上想到使用TabHost 與 TabActivity的組合,其實最常用的不是它們,而是由GridView與ActivityGroup的組合。每當用戶在GridView選中一項,ActivityGroup就把該項對應的Activity的Window作爲View添加到ActivityGroup所指定的容器(LinearLayout)中。
接下來貼出本例運行的效果圖:
ImageAdapter是本實例的關鍵之一,它繼承於BaseAdapter,並加入一些自定義的方法。ImageAdapter的源碼如下:
SetFocus(int)這個方法是個關鍵點,即實現選中的效果。例如有ABCD4個Item,其中C被選中了,那麼除C以外的Item都被設置爲未被選中的樣式,而C則設置爲選中的樣式。
接下來就開始寫主Activity,主Activity包含GridView控件,名爲gvTopBar,有2點是需要注意一下的。
- SetNumColumns():必須要使用setNumColumns來設置列數,因爲這個GridView只有一行,即所有的Item都在同一行,Item數量即爲列數。
- setSelector(new ColorDrawable(Color.TRANSPARENT)):把系統默認選中的背景色透明化,因爲我們已經在BaseAdapter中加入了SetFocus()來改變選中的樣式。
主Activity的佈局XML文件源碼如下: