Alternativamente, se puede utilizar un floating context menu.
(3 años más tarde, en realidad lee que el menú contextual flotante sólo funciona para los clics largos y rápidamente edita respuesta).
Se necesitaría registrar su visión para el menú contextual, abra el menú, a continuación, anular el registro (de modo que a largo clics en el elemento de acción no provocó de nuevo):
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.my_menu_item) {
View view = item.getActionView();
registerForContextMenu(view);
openContextMenu(view);
unregisterForContextMenu(view);
return true;
}
return super.onOptionsItemSelected(item);
}
y por supuesto, implementar onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
según la documentación vinculada.
La mejor opción sería, como escribió OP, utilizar un AlertDialog en este caso particular si desea un diálogo centrado, o PopupMenu si desea que el menú se ancle al elemento de acción. Sin embargo, el menú emergente puede ser extraño, porque se sentirá como un menú de desbordamiento.
Aparecería un 'AlertDialog' con' CHOICE_MODE_SINGLE'. – sastraxi
¡Estoy haciendo algo similar AQUÍ! http://stackoverflow.com/questions/16621070/get-context-of-popupmenu-like-contextmenu – toobsco42