2012-01-16 23 views
6

que quería implementar la Barra de acciones (Android 4.0) en una aplicación de prueba para ver cómo funciona etc.Android Barra de acciones Menupoint (con 3 puntos)

Mi pregunta: Casi todas las aplicaciones de 4.0 tiene en la esquina derecha de ActionBar es un "menúBotón" con un ícono que muestra 3 puntos verticales. (Ver: http://cdn.gottabemobile.com/wp-content/uploads/2011/12/ICS-Screen05.jpg)

¿Cómo puedo implementar esto en mi aplicación?

Intenté implementar este "menúButton" con ah Spinneradapter .. pero este siempre se muestra después del nombre de la aplicación en la barra de acciones.

Btw. Otra pregunta: Tengo un botón de actualización en mi aplicación ... ¿Cómo puedo hacer que el ícono "Refrescar ícono" gire, cada vez que se hace clic?

Aquí está mi código ...

gracias por la ayuda, y disculpen mis conocimientos de programación ... soy un novato! :)

public class IVOAppActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ActionBar actionBar = getActionBar(); 

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 

    SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, 
     android.R.layout.simple_spinner_dropdown_item); 

    actionBar.setListNavigationCallbacks(mSpinnerAdapter, null); 

    setContentView(R.layout.main); 
} 


/** Create ActionBar */ 
public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.menubar, menu); 
    return true; 
} 

/** Handle clicks on ActionBar */ 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
// Handle item selection 
switch (item.getItemId()) { 

    case R.id.menu_refresh: 
     Toast.makeText(this, "Fake Refreshing..", Toast.LENGTH_SHORT).show(); 
    /*final Intent i = new Intent(this, Help.class); 
    startActivity(i);*/ 
    break; 
    case R.id.menu_settings: 
     Toast.makeText(this, "Settings", Toast.LENGTH_SHORT).show(); 
    /*final Intent ii = new Intent(this, Options.class); 
    startActivity(ii);*/ 
    break; 


} return false;}} 

Barra de acciones XML

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 


<item android:id="@+id/menu_refresh" 
    android:icon="@drawable/ic_popup_sync_1" 
    android:showAsAction="always"/> 

<item android:id="@+id/menu_settings" 
    android:icon="@drawable/ic_menu_preferences" 
    android:showAsAction="always"/></menu> 

Respuesta

7

¿Cómo puedo aplicar esto en mi aplicación?

Tiene un menú de opciones, con elementos que no se alzan en la barra de acciones como botones de la barra de herramientas y similares. Como eligió hacer sus dos opciones, los elementos del menú tienen android::showAsAction="always", serán botones de la barra de herramientas, dejándolo sin nada para el menú de derrame.

Tenga en cuenta que solo verá el botón de tres puntos en los dispositivos que carecen de un botón MENÚ fuera de la pantalla.

+0

Gracias por la respuesta rápida, no sabía que solo unos pocos dispositivos pueden ver ese "MenuButton" ... En este caso, ¿cómo puedo (por ejemplo, el botón "configuración") hacer, que muestra un menú desplegable cuando hago clic en él? Quiero el mismo comportamiento que el botón "Menú" con los 3 puntos ... ¿Puedes darme un ejemplo o algo así? Gracias de todos modos :) – HardStyle

+0

@HardStyle: Le invitamos a que muestre un 'ListPopupView'. No he intentado hacerlo manualmente desde un botón de la barra de herramientas de la barra de acciones. – CommonsWare

Cuestiones relacionadas