51111111111Rating 5.00 (2 Votes)

Элементы OptionMenu, это те самые элементы, которые отображаются при нажатии на кнопку Menu, в приложениях удобно использовать для кнопок настроек, выхода из приложения и т.п. ниже в краце расскажу о том, как добавить несколько кнопок в приложение и привязать к ним код.

Для начала необходимо отредактировать файл проекта ...res\menu\main.xml, добавив в него элементы меню:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/Toast1"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/Toast1"/>
    
    <item
        android:id="@+id/Toast2"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/Toast2"/>

</menu>

Далее добавить значения надписей для android:title в ...res\values\strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">ExitOptionMenu</string>
    <string name="hello_world">Hello world!</string>
    <string name="Toast1">Show Toast1</string>
    <string name="Toast2">Show Toast2</string>

</resources>

Теперь можно запустить приложение, проверить наличие созданных кнопок, далее привязываем код:

@Override
    public boolean onOptionsItemSelected(MenuItem item){
        
        switch (item.getItemId()) {
        case R.id.Toast1:
            Toast.makeText(this, "Toast1 pressed", Toast.LENGTH_SHORT).show();
            break;
        case R.id.Toast2:
            Toast.makeText(this, "Toast2 pressed", Toast.LENGTH_SHORT).show();
            break;
        default:
            break;
        }
        
        return super.onOptionsItemSelected(item);
        
    }

По нажатию на ту или иную кнопку, будет появляться всплывающее сообщение.

 

Примечание: элементы меню вызываются уже существующим кодом (который создается по умолчанию при создании проекта приложения):

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

 

box download 9680

Загрузить пример OptionMenu.

Добавить комментарий


Защитный код
Обновить

Сейчас 267 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз