我现在正在使用Android TabWidget。
我基于http://mobileorchard.com/android-app-development-tabbed-activities/构建了这个TabWidget
我已经为TabWidget添加了背景,
但显然所选标签和按下标签的亮点始终可见,我无法将其关闭。
这是图片(抱歉不能直接添加图片,因为还是新手)。 :
1.默认选中标签:http://postimage.org/image/9ryed6w5b/
2.在按下的标签上:http://postimage.org/image/gwg7m83en/
我想要的是默认选定的标签颜色,并且在按下的标签颜色上不可见或关闭,因此图像背景将完全显示,而不是被这些颜色阻挡。
任何回复都将不胜感激。谢谢:))
代码:
public void onCreate(Bundle savedInstanceState) {
//hide title bar
BasicDisplaySettings.toggleTaskBar(EpolicyMainActivity.this, false);
//show status bar
BasicDisplaySettings.toggleStatusBar(EpolicyMainActivity.this, true);
super.onCreate(savedInstanceState);
setContentView(R.layout.epolicy);
TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
tabHost.setup();
tabHost.getTabWidget().setBackgroundColor(0);
tabHost.getTabWidget().setBackgroundResource(R.drawable.epolicy_menu_bar);
TabSpec spec1=tabHost.newTabSpec("Tab 1");
spec1.setContent(R.id.tab1);
spec1.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_home));
TabSpec spec2=tabHost.newTabSpec("Tab 2");
spec2.setContent(R.id.tab2);
spec2.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_nab));
TabSpec spec3=tabHost.newTabSpec("Tab 3");
spec3.setContent(R.id.tab3);
spec3.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_contact));
TabSpec spec4=tabHost.newTabSpec("Tab 4");
spec4.setContent(R.id.tab4);
spec4.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_agen));
tabHost.addTab(spec1);
tabHost.addTab(spec2);
tabHost.addTab(spec3);
tabHost.addTab(spec4);
答案 0 :(得分:18)
我添加这个并最终起作用:
tabHost.getTabWidget().getChildTabViewAt(0).setBackgroundDrawable(null);
tabHost.getTabWidget().getChildTabViewAt(1).setBackgroundDrawable(null);
tabHost.getTabWidget().getChildTabViewAt(2).setBackgroundDrawable(null);
tabHost.getTabWidget().getChildTabViewAt(3).setBackgroundDrawable(null);
tabHost.setCurrentTab(0);
答案 1 :(得分:1)
如果使用TabLayout对象,则可以按如下方式隐藏指标:
tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.transparent, null));
干杯。