2

我现在正在使用 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);
4

2 回答 2

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);
于 2012-05-01T03:24:34.417 回答
1

如果使用 TabLayout 对象,那么隐藏指示器可以实现如下:

tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.transparent, null));

干杯。

于 2015-10-05T13:38:07.800 回答