如何在android中的操作栏下方显示标签栏

时间:2014-04-15 05:59:12

标签: android tabs android-actionbar actionbarsherlock

在我的Android应用程序中,我想在操作栏下显示标签,操作栏不应该有主页图标。

以下是我的代码。

 // Initilization
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getSupportActionBar();
    View actionbar1 = LayoutInflater.from(this).inflate(R.layout.header,
null);
    actionBar.setCustomView(actionbar1);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayHomeAsUpEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayUseLogoEnabled(false);

    mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); 
    viewPager.setAdapter(mAdapter);        
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

,输出在下面的屏幕中。 我希望操作栏位于页面的顶部,并且下方应显示标签。

enter image description here

请帮我解决上述问题。我很期待你的回复。

由于

1 个答案:

答案 0 :(得分:2)

我昨天在zenfone6上遇到了同样的问题,然后我发现了很多关于这个问题的信息,然后我现在修复了它。

这是我的解决方案:

设置actionBar.setDisplayShowHomeEnabled(true)

这会使您的标签栏位于主操作栏下方,因为现在启用了显示在操作栏左侧的向上指示器功能作为向上导航。

(如果您想了解更多关于导航的内容,可以查看http://www.grokkingandroid.com/actionbarsherlock-up-navigation/

现在,在输入上面的代码之后,您会发现操作栏左侧有填充因为我们刚刚启用了向上指示符。我通过强制将 res / values-v14 / styles.xml 中的drawable用作向上指示符来解决此问题 null

像这样:

<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
    <!-- API 14 theme customizations can go here. -->
    <item name="android:homeAsUpIndicator">@null</item>
</style>

我从这里找到了这个解决方案:remove padding around action bar left icon on Android 4.0+