【问题标题】:Android TabHost Divider not working in 4.0.3Android TabHost Divider 在 4.0.3 中不起作用
【发布时间】:2012-06-27 10:25:10
【问题描述】:

这是我用来设置标签主机中标签之间分隔符的代码。

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

但它没有显示在模拟器中。在 SO 上四处搜索让我找到了很多关于此的帖子,但我无法找到完美的解决方案。

这方面的任何帮助/建议都会非常有帮助。

【问题讨论】:

    标签: android android-tabhost


    【解决方案1】:

    TabHost 在 android api 级别 11 及以后被弃用

    尝试使用ActionBar

    更多详情请见this

    更新

    请参阅this,在ICS 中使用setDrawable

    更新: 如果你想在所有安卓版本上使用标签,你可以使用以下代码:

    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() 方法中。

    【讨论】:

    • 有没有办法使用 TabHost 实现这一点?
    • TabHost 在 android 4 上完美运行,但建议您应该使用 ActionBar,而且它们非常好用。我可以向你解释。如果您只想使用 TabHost,那么您提供的有关该问题的信息不足。您具体面临哪些问题?
    • 问题是即使我使用了问题中给出的 setDividerDrawable(),设备中也没有显示分隔符。
    • 我已更新 ActionBar 链接。如果你愿意,请通过它。
    • 我还是建议你使用ActionBar。因为,在 ICS 中使用 TabBar 并不是一个好习惯。如果您有任何具体要求,那没关系。
    猜你喜欢
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 2012-09-12
    • 2017-06-27
    • 1970-01-01
    相关资源
    最近更新 更多