2011-04-06 116 views
0

我該如何在TabActivity中實現這個功能?Android應用程序用戶界面選項卡...此用戶界面可能嗎?

enter image description here

+0

爲什麼這個佈局特別?典型的Android-Tab-UI如下所示: http://developer.android.com/resources/tutorials/views/images/hello-tabwidget.png唯一的區別是樣式或顏色。 – theomega 2011-04-06 10:44:56

+0

好吧...所以我想我將不得不把一個圖像作爲應用程序背景,並在標籤活動正確的透明或不透明標籤圖像... – 2011-04-06 10:51:35

+0

是的,這將是最好的解決方案。由於android支持半透明,所以這不應該很困難。 – theomega 2011-04-06 10:52:15

回答

0

這看起來很像標準TabHost(http://developer.android.com/resources/tutorials/views/hello-tabwidget.html)和OnTabChangedListener的實現。

的偵聽器添加到您的TabHost實例:

tabHost.setOnTabChangedListener(new OnTabChangeListener(){ 
    @Override 
    public void onTabChanged(String tabId) { 
     setTabHostColors(); 
    }}); 

處理不斷變化的背景色:

private void setTabHostColors() { 
    for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) { 
     tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.rgb(0, 0, 0)); //unselected 
    } 
    tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.rgb(50, 120, 160)); // selected 
} 

然後終於它顯然有一個可愛的小背景圖片,不知道從哪裏得到那個我害怕。

+0

在2.2之前,你實際上不能改變標籤下面的灰色條的可繪圖(除非你使用Reflection),所以他們可能使用自定義的TabHost實現或者簡單地使用RadioGroup作爲標籤。 – 2011-04-06 10:52:36

+0

Cool..guess這應該工作..猜猜這個反射是可能有點難以實施... – 2011-04-06 11:46:20

+0

哦@約瑟夫,這是一個很好的觀點,謝謝!那麼,如果下面的地帶非常有價值,我猜Arun將不得不實施一個自定義的TabHost。 :) – Klaus 2011-04-06 12:17:37