在Android中使用意图的自定义TabView

问题描述:

我想要在Image中创建如下所示的Tabview。我尝试过,但无法获得正确的视图。在Android中使用意图的自定义TabView

Custom Tab

这里是我的代码..它没有给我想要精确视图。那么,我该如何定制它。

public class BandInfo extends TabActivity implements OnTabChangeListener { 

TabHost tabHost; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.band_info); 

    tabHost = getTabHost(); 

    tabHost.getTabWidget().setBackgroundResource(R.drawable.footerbar); 


    // Tab for Bio 
    TabSpec bioSpec = tabHost.newTabSpec("Bio"); 
    // Setting Title for Tab 
    bioSpec.setIndicator("Bio"); 
    Intent bioIntent = new Intent(this,Bio.class); 
    bioSpec.setContent(bioIntent); 

    // Tab for Upcoing Shows 
    TabSpec upcomingShowSpec = tabHost.newTabSpec("Upcoming Shows"); 
    upcomingShowSpec.setIndicator("Upcoming Shows"); 
    Intent upcomingShowIntent = new Intent(this, UpcomingShow.class); 
    upcomingShowSpec.setContent(upcomingShowIntent); 

    // Tab for Band Members 
    TabSpec bandMemberSpec = tabHost.newTabSpec("Band Members"); 
    bandMemberSpec.setIndicator("Band Members"); 
    Intent bandMemberIntent = new Intent(this, BandMembers.class); 
    bandMemberSpec.setContent(bandMemberIntent); 

    // Adding all TabSpec to TabHost 
    tabHost.addTab(bioSpec); // Adding Bio Tab 
    tabHost.addTab(upcomingShowSpec); // Adding Upcoming Show Tab 
    tabHost.addTab(bandMemberSpec); // Adding Band Members Tab 

    for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) 
    { 
     tabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.footerbar); 
    } 
    tabHost.getTabWidget().setDividerDrawable(R.drawable.footer_saprater); 
} 
@Override 
public void onTabChanged(String tabId) { 
    // TODO Auto-generated method stub 
    for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) 
    { 
     tabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.footerbar); 
    } 
    tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(R.drawable.bandmember_active); 
} 

请帮我一些代码... 在此先感谢..

Output Screen

这是一个输出屏幕,我得到。

+0

你做了什么吗? – chopchop

+0

是的,我尝试过,但标题名称没有设置在中心.. – RBL

+0

嗨...你仍然无法解决问题? –

Heyy我发现了这个。尝试这个。你一定会做到的。

http://code.google.com/p/android-custom-tabs/

对于设置宽度,

tabHost.getTabWidget().getChildAt(0).getLayoutParams().width =(int) 30;

还要检查此链接:http://adanware.blogspot.in/2012/04/android-custom-tab-layouts-just-using.htmlhttp://www.speakingcode.com/2011/12/01/creating-custom-views-for-tabs-in-an-android-activity-using-tabhost-and-tabwidget/