2012-05-15 6 views
5

En mi aplicación, he creado mi propia barra de acciones, y funciona muy bien.Android Overflow-menu personalizado (Sin barra de acciones y sin menubutton)

Sin embargo, me gustaría utilizar el comportamiento de los botones de desbordamiento en dispositivos ICS sin botón de menú.

¿Hay alguna manera de implementar un botón de desbordamiento personalizado en ICS que esté separado de la barra de acciones?

Gracias!

+0

Para aclarar: que quieren deshacerse de la barra de negro en la parte inferior con tres puntos, y Istead práctica mi propia versión en mi barra de acción personalizado. – DagW

+0

¿Ha mirado http://developer.android.com/resources/samples/ActionBarCompat/index.html? – techiServices

Respuesta

19

userSeven7s mayoría tiene con el ListPopupWindow, sino un ajuste aún mejor en este caso es la PopupMenu, que le permite inflar un estándar menu.xml. Puede colocar su propio View o Button en la esquina superior derecha y en el controlador onClick crear y mostrar un PopupMenu.

Un ejemplo se puede encontrar en ApiDemos> Vistas> Menú emergente. Específicamente PopupMenu1.java:

public void onPopupButtonClick(View button) { 
    PopupMenu popup = new PopupMenu(this, button); 
    popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu()); 

    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
     public boolean onMenuItemClick(MenuItem item) { 
      Toast.makeText(PopupMenu1.this, "Clicked popup menu item " + item.getTitle(), 
       Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
    }); 

    popup.show(); 
} 
+0

¡Perfecto! ¿Está disponible con el paquete de compatibilidad? – DagW

+1

No, y me imagino que sería bastante difícil respaldarlo. Pero realmente recomendaría simplemente utilizar el botón de menú existente en los dispositivos que lo tienen (todos los Android 2.x) y simplemente usar el menú emergente en dispositivos sin un botón de menú, puede detectar esto con http://developer.android. com/reference/android/view/ViewConfiguration.html # hasPermanentMenuKey(). –

+0

pero al usar el menú emergente no puede agregar ícono –

0

¿Has mirado a ActionBar Sherlock? ABS proporciona soporte de barra de acción para todos los dispositivos que ejecutan Android 2.1 y superior. La muestra de ActionBarCompat es muy limitada y no admite menús de desbordamiento en dispositivos más antiguos. Asegúrese de utilizar el tema Theme.Sherlock.ForceOverflow para habilitar el desbordamiento.

http://actionbarsherlock.com/

También puede modificar la biblioteca QuickAction a hacer lo que quiera.

https://github.com/lorensiuswlt/NewQuickAction

0

Se podría deslizarse/desplazarse a la barra de acción para permitir el acceso a más opciones. Ponga la barra de acción en un HorizontalScrollView.

También puede ser que desee echar un vistazo a la clase PopupWindowhere y ListPopupWindow documentación here.

Cuestiones relacionadas