Question

I want to create Tabview like below in Image. I tried it but can't get proper view.

Custom Tab

Here is My Code.. It's not give exact view that I want. So, How can I customized it.

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);
}

Please Help me with some code... Thanks in Advance..

Output Screen

This is an output Screen I get.

Was it helpful?

Solution

Heyy i found this. Try this. you'll surely make it.

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

For setting width,

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

Also check this link: http://adanware.blogspot.in/2012/04/android-custom-tab-layouts-just-using.html and http://www.speakingcode.com/2011/12/01/creating-custom-views-for-tabs-in-an-android-activity-using-tabhost-and-tabwidget/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top