2011-04-06 87 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