6

我已经关注了 android 开发网站上的开发页面,但我无法让我的操作栏拆分到屏幕的顶部和底部。

我有一个用几个选项定义的菜单 xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/stop_services"
    android:icon="@drawable/ic_launcher"
    android:title="@string/stop" 
    android:showAsAction="ifRoom|withText"/>
  <item android:id="@+id/start_services"
    android:icon="@drawable/pushpin"
    android:title="@string/start" 
    android:showAsAction="ifRoom|withText"/>
</menu>

在我的清单中,我将 uiOption 设置为:

<activity
  android:label="@string/app_name"
  android:name=".ProxilenceHome" 
  uiOptions="splitActionBarWhenNarrow" >

我在活动中加载菜单项,如下所示:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.home_menu, menu);
    return true;
}

但是在测试应用程序时,操作栏永远不会分裂。有谁知道问题/如果我错过了什么?

非常感谢。

4

3 回答 3

25

使用android:uiOptions="splitActionBarWhenNarrow"对我有用。

没有“android:”它不起作用

于 2011-12-07T15:36:41.390 回答
0

在横向模式下使用此导航选项卡拆分但在纵向模式下它不起作用。

    final ActionBar bar = this.getActionBar();
        bar.setDisplayHomeAsUpEnabled(false);
bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);




mTabsAdapter = new TabsAdapter(this, mViewPager);
    Tab tab1=mTabsAdapter.addTab(bar.newTab().setText("DemoGraphics"),ListFragmentDemo.PatientFragment.class, null);

public boolean onCreateOptionsMenu(Menu menu)
    {

        MenuInflater inflater=getMenuInflater();
        inflater.inflate(R.menu.mainmenu, menu);
        super.onCreateOptionsMenu(menu); 

        return true;
    }

主菜单.xml

    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_dCollection"
         android:icon="@drawable/overflowmenu"
         android:showAsAction="ifRoom|withText"
    >
     <menu>
     <item android:id="@+id/menu_demo"

           android:title="DemoGraphics" />
     <item android:id="@+id/menu_visits"  
           android:title="Visits" />
     <item android:id="@+id/menu_vitals"  
           android:title="Vitals" />
     </menu>
    </item>
     <item android:id="@+id/add" android:showAsAction="ifRoom" android:title="Add" android:icon="@drawable/ic_action_open"></item>
     <item android:id="@+id/previous" android:showAsAction="ifRoom" android:title="Back" android:icon="@drawable/back"></item>
        <item android:id="@+id/nextFragment" android:showAsAction="ifRoom" android:title="Next" android:icon="@drawable/next"></item>
     <item android:id="@+id/menu_search" android:showAsAction="ifRoom" android:title="Search" android:actionViewClass="android.widget.SearchView" android:icon="@drawable/search" />
 </menu>

在 manifest.xml 文件中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:installLocation="preferExternal"
    package="savy.exam.actionbartabspager"
    android:versionCode="1"
    android:versionName="1.0"
    android:uiOptions="splitActionBarWhenNarrow"
     >
于 2012-05-30T04:34:58.910 回答
0

尝试在您的菜单 xml 中添加这一行:

<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res-auto" >

然后在您的项目元素中:

myapp:showAsAction="always|withText"

它帮助了我。

于 2013-10-11T08:51:01.697 回答