2011-12-07 14 views
6

He seguido las páginas de desarrollo en el sitio de desarrollo de Android, pero no puedo hacer que mi barra de acciones se divida en la parte superior e inferior de la pantalla.No se puede obtener la barra de acciones dividida de Android 4.0 trabajando

Tengo un xml menú definido con un par de opciones:

<?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> 

En mi manifiesto que he puesto el uiOption a:

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

me carga los elementos de menú del actividad de la siguiente manera:

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

Pero al probar la aplicación, la barra de acciones nunca se divide. ¿Alguien sabe el problema/si me he perdido algo?

Muchas gracias.

+0

¿Está ejecutando la aplicación en un dispositivo ICS o emulador? –

+0

Actualmente en el dispositivo. Intentará emular también. – clamped

+0

Bien probado en el emulador, tampoco funciona allí. – clamped

Respuesta

26

El uso de android:uiOptions="splitActionBarWhenNarrow" funciona para mí.

Sin el "android:" no funciona

+0

Brillante, pensé que podría haber sido algo simple que me perdí. Gracias. – clamped

0

usando esto en pestañas de navegación en modo paisaje dividido, pero en modo vertical no hay trabajo.

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; 
    } 

mainmenu.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> 

de archivo 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" 
    > 
+0

lo siento. Recibí mi error. De hecho, creo manualmente la configuración del dispositivo para el emulador porque no está funcionando. Pero cuando estoy usando la configuración existente, funciona. – amy

0

tratar de añadir esta línea en su menú xml:

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

Luego, en su artículo elemento:

myapp:showAsAction="always|withText" 

Me ayudó.

Cuestiones relacionadas