嗨我在我的标签小部件中有两个标签,我想为两个标签应用两种不同的颜色.在任何地方搜索,大多数应用标签时所有颜色都相同.
更新
选择红色时的第一个选项卡
选择蓝色时的第二个选项卡
在这里我的代码
tabHost = (TabHost)findViewById(android.R.id.tabhost); TabSpec firstTabSpec = tabHost.newTabSpec("tid1");//these are color red TabSpec secondTabSpec = tabHost.newTabSpec("tid1");//these color blue firstTabSpec.setIndicator("Sales Info",getResources().getDrawable(R.drawable.sales)); Intent photosIntent = new Intent(this,a.class); firstTabSpec.setContent(photosIntent); secondTabSpec.setIndicator("Service Info",getResources().getDrawable(R.drawable.services)); Intent photosIntent1 = new Intent(this,b.class); secondTabSpec.setContent(photosIntent1); tabHost.addTab(firstTabSpec); tabHost.addTab(secondTabSpec);
解决方法
试试这个:
...onCreate(){ ... tabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String arg0) { setTabColor(tabHost); } }); setTabColor(tabHost); ... } //Change The Backgournd Color of Tabs public void setTabColor(TabHost tabhost) { for(int i=0;i<tabhost.getTabWidget().getChildCount();i++) tabhost.getTabWidget().getChildAt(i).setBackgroundColor(COLOR_CYAN); //unselected if(tabhost.getCurrentTab()==0) tabhost.getTabWidget().getChildAt(tabhost.getCurrentTab()).setBackgroundColor(COLOR_RED); //1st tab selected else tabhost.getTabWidget().getChildAt(tabhost.getCurrentTab()).setBackgroundColor(COLOR_BLUE); //2nd tab selected }