Difference between revisions of "Change Tab Color"
From John Freier
Line 19: | Line 19: | ||
public void onTabChanged(String tabId) | public void onTabChanged(String tabId) | ||
{ | { | ||
− | for(int i=0;i | + | for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) |
{ | { | ||
+ | // Change the background color of all the tabs. | ||
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#7392B5")); | tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#7392B5")); | ||
} | } | ||
+ | // Change the background color of the selected tab. | ||
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#4E4E9C")); | tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#4E4E9C")); | ||
} | } |
Revision as of 08:40, 11 February 2011
This is sample code to change the tab background color.
Use the below line of code in onCreate() to display in first time.
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) { tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#7392B5")); }
To set different color for current selected tab. use
tabHost.getTabWidget().getChildAt(0).setBackgroundColor(Color.parseColor("#4E4E9C"));
Here 0 position is the first tab.
When you change the tab selection you need to change your selected color to that current tab & replace the default color to other tab. For that use OnTabChangeListener(). These method will be called when you change the tab selection.
@Override public void onTabChanged(String tabId) { for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) { // Change the background color of all the tabs. tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#7392B5")); } // Change the background color of the selected tab. tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#4E4E9C")); }