Las opciones de menú de Android no se resaltan al hacer clic/tocar

Estoy mostrando la barra de acción del menú en la parte inferior de la pantalla. cuando el usuario hace clic/toca cualquiera de los elementos del menú, quiero resaltarlo (es decir, la forma en que se resalta el clic del botón). probé onClickListener y ontouchListener pero no se destaca.

¿Alguien puede decirme qué propiedad/método he configurado?

Aquí está el código que estoy usando.

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.landing_page_layout);

        ActionBar actionBar = getActionBar();
        actionBar.show();

// business logic }



    @Override
        public boolean onCreateOptionsMenu(Menu menu) {


            getMenuInflater().inflate(R.menu.menu_items, menu);

            item1 = menu.findItem(R.id.menu_option1);
            item1.getActionView().setOnTouchListener(new OnTouchListener() {

 // logic when user touch menu option1 touch      
 }});

Gracias Chintan

preguntado el 08 de marzo de 13 a las 21:03

¿Podrías publicar algún código de lo que estás intentando? -

Compartí código. por favor, hágamelo saber lo que está mal? -

1 Respuestas

Consulte esta sección en la documentación: http://developer.android.com/guide/topics/ui/menus.html#options-menu

Para configurar el menú, haga esto:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

Donde R.menu.menu apunta a su archivo res/menu/menu.xml. Esto cargará los elementos de ese archivo.

El menú de opciones se escucha de la misma manera que las vistas regulares con OnClickListeners y similares. en cambio tu onOptionsItemSelected anular así:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.item1:
            // Do something
            return true;
        case R.id.item2:
            // Do something else
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

respondido 10 mar '13, 15:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.