studio sgoliver personalizar herramientas busqueda barra bar actionbar android android-actionbar android-menu

android - personalizar - sgoliver toolbar



Barra de acción dividida Android con elementos de acción en la parte superior e inferior? (5)

Dudoso. Sin embargo, puede ver una combinación de estos al crear los elementos del menú en la barra de acciones para experimentar.

MenuItem.SHOW_AS_ACTION_ALWAYS MenuItem.SHOW_AS_ACTION_NEVER MenuItem.SHOW_IF_ROOM

¿Hay alguna forma de especificar algunos elementos de acción en la parte superior de la Barra de acciones dividida mientras que los demás van hacia abajo? ¿O es todo o nada, por lo que todos los elementos de acción van a la parte inferior de la división solamente?


Esto no es posible en la actualidad.

Vea la respuesta directamente de los desarrolladores de Android Reto Meier y Roman Nurik durante las horas de la Oficina de Desarrolladores de Android: http://youtu.be/pBmRCBP56-Q?t=55m50s


Para resolver esto, utilicé una vista personalizada como mi barra de acción:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); View view = View.inflate(getApplicationContext(), R.layout.actionbar, null); actionBar.setCustomView(view); }

y luego para la barra inferior inflé mi vista de menú o lo que sea que quieras que aparezca en la parte inferior:

@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.browser_main, menu); RelativeLayout relativeLayout = (RelativeLayout) menu.findItem( R.id.layout_item).getActionView(); View inflatedView = getLayoutInflater().inflate( R.layout.media_bottombar, null); relativeLayout.addView(inflatedView); return true; }

En el Manifiesto de Android, también incluyo (android: uiOptions = "splitActionBarWhenNarrow") de esta manera:

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:uiOptions="splitActionBarWhenNarrow" > ....


Resolví este problema usando una vista personalizada y añadiendo los elementos del menú, que deberían aparecer en la parte superior, a esta vista.


Si esta opción está activada, Android tiene la opción de dividir la barra de acciones. Si el sistema decide cuándo dividir en tiempo de ejecución

Puede definir que el sistema debe dividir automáticamente la barra de acciones si no hay suficiente espacio disponible. Puede activarlo mediante el parámetro android: uiOptions = "SplitActionBarWhenNarrow" en la declaración de actividad de la aplicación en el archivo AndroidManifest.xml.