如何让操作栏同时包含主操作栏和顶部操作栏

时间:2014-10-02 02:07:12

标签: android android-layout android-actionbar android-menu

根据http://developer.android.com/design/patterns/actionbar.html#considerations-split-action-bars我可以将我的操作栏拆分为三个位置。对于我的情况,我希望前两个位置始终可见:主操作栏顶栏。但绝不是底栏。我怎么能这样做?目前我只能显示主要操作栏。我基本上想要设计Google Play应用。

基本上我已经从http://developer.android.com/guide/topics/ui/actionbar.html#ActionItems

复制并粘贴和研究

3 个答案:

答案 0 :(得分:1)

如果您希望Google Play App的设计可以使用此

ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

如需进一步参考,您还可以在此处查看教程 http://developer.android.com/training/implementing-navigation/lateral.html#tabs

答案 1 :(得分:1)

由于导航标签为deprecated in Android L,您应该考虑使用支持库的PagerTabStripPagerSlidingTabStrip(专门用于模仿Google Play的设计)来添加标签。

答案 2 :(得分:0)

如果您未在uiOptions="splitActionBarWhenNarrow"中设置manifest,则不会获得第三部分。 “L”开发者预览版中不推荐使用操作栏标签。我建议您不要使用它。我认为Google Play正在使用SlidingTabsBasic

如果您坚持使用actionBar标签,最后可以这样做:

 final ActionBar actionBar=getActionBar();
 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        String[] mTabNames = tabNames;

        for (int i = 0; i < mTabNames.length; i++) {

            ActionBar.Tab tab1=actionBar.newTab();
            tab1.setText(tabNames[i]);
            tab1.setTabListener(this);
            actionBar.addTab(tab1);
        }

并且对于您的标签监听器,您可以将以下代码添加到您的活动中。

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {


}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {

}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {

}

并且不要忘记implements ActionBar.TabListener !!