2012-06-27 33 views
0

这是我用来设置标签主机中选项卡之间的分隔符的代码。Android TabHost Divider不工作于4.0.3

mTabHost.getTabWidget().setDividerDrawable(R.drawable.tabdivider); 

但它没有出现在模拟器中。在SO上搜索引起了我对此的许多帖子,但我还没有能够找到一个完美的解决方案。

在这方面的任何帮助/建议将非常有帮助。

回答

2

TabHost是已弃用在android api级别11以上。

尝试使用ActionBar

有关更多详细信息,请参阅this

UPDATE

请参阅this,为ICS使用setDrawable

UPDATE: 如果你想使用的标签上对所有的Android版本,可以使用下面的代码:

if (android.os.Build.VERSION.SDK_INT >= 11) { 

// setup action bar for tabs 
    ActionBar actionBar = getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
    actionBar.setDisplayShowTitleEnabled(false); 

    Tab tab = actionBar.newTab() 
      .setText(R.string.artist) 
      .setTabListener(new TabListener<ArtistFragment>(
        this, "artist", ArtistFragment.class)); 
    actionBar.addTab(tab); 

    tab = actionBar.newTab() 
     .setText(R.string.album) 
     .setTabListener(new TabListener<AlbumFragment>(
       this, "album", AlbumFragment.class)); 
    actionBar.addTab(tab); 
} else { 

// put your TabHost code here... 

} 

这应该被放置在你的onCreate()方法。

+0

有没有办法实现这个使用TabHost? – Swayam

+1

TabHost在Android 4上完美工作,但有人建议您应该使用ActionBar,并且认真使用它们非常容易。我可以向你解释。如果您只想使用TabHost,那么您提供的关于该问题的信息不够。你究竟遇到了什么问题? – Shrikant

+0

问题是,即使我已经使用setDividerDrawable()问题中给出的分配器不显示在设备中。 – Swayam