Control dinámico de elementos de acción / menú en ActionBar
¿Hay una manera de desactivar dinámicamente, ocultar, agregar / quitar elementos de menú en ActionBar? Por ejemplo, una acción se deshabilita hasta que el usuario llena un número de teléfono válido en una actividad.
No encontré ningún método útil en ActionBar API, la única manera parece estar usando una vista personalizada en ActionBar.
- ActionBar Compat no muestra el logotipo en Android 2.3.3
- Eliminar la barra de acción predeterminada de Android
- ¿Cómo se elimina el texto del título de la Android ActionBar?
- Evita cancelar el modo de acción pulsando el botón de retroceso
- ¿Cuál es el tamaño predeterminado de fuente del título ActionBar?
- Agregar barra de herramientas a la actividad causa NoClassDefFoundError
- Manténgase en la pestaña actual después de cambiar la orientación Actionbar Android
- Los elementos visibles de SearchView en ActionBar aparecen borrosos
- Cómo obtener fragmentos de mapas de Google en onCreateView con las pestañas de ActionBar
- ¿Por qué está el menú desplegable de desbordamiento encima de la barra de acción?
- Cómo mostrar elementos de menú desbordamiento en la barra de acciones de Android
- El menú de la barra de acciones muestra la pantalla
- Estilo para android: uiOptions = "splitActionBarWhenNarrow"?
Para indicar a ActionBar que actualice sus elementos de menú: invalidateOptionsMenu ()
Luego para activar / desactivar los elementos del menú:
@Override public boolean onPrepareOptionsMenu(Menu menu) { MenuItem item= menu.findItem(R.id.men_1); //depending on your conditions, either enable/disable item.setEnabled(false); super.onPrepareOptionsMenu(menu); return true; }
Y para ocultar la barra de acción que tiene:
getActionBar().hide();
Otra opción: tener un campo en la actividad que almacena el menú. De esta manera es posible llamar a getMenuInflater (). Inflate () y menu.clear () desde cualquier lugar que desee en esta actividad
Por lo tanto, se ve algo así:
class MyActivity extends ActionBarActivity { Menu actionBar; @Override public boolean onCreateOptionsMenu(Menu menu) { actionBar = menu; return true; } //Possible usage void showActionBar1 () { getMenuInflater().inflate(R.menu.menu_1, actionBar); actionBar.findItem(R.id.menu_1_btn_1).setOnMenuItemClickListener(); } void showActionBar2 () { getMenuInflater().inflate(R.menu.menu_2, actionBar); ... } void clearActionBar () { if (actionBar != null) actionBar.clear(); }
- ¿Qué formato es para la cámara de Android con raw pictureCallback?
- Bloquear la transición entre el valor mínimo y el valor máximo en NumberPicker