В моем приложении есть панель действий, но нет меню.XML. Как изменить панель действий?


Здравствуйте и спасибо за чтение,

Когда я впервые сделал свой проект, Android Studio предложила мне выбрать котельную плиту. Я выбрал пустую деятельность (ту, что без Фаба и других). Тем не менее, мое приложение имеет ActionBar, но оно просто показывает имя. Теперь я хочу изменить эту панель действий и добавить меню. Моя java расширяет AppCompatActivity, поэтому есть панель действий. Однако, в отличие от моего предыдущего опыта в eclipse, я не могу найти xml-меню, которое я могу найти.

Как я могу добавить одно или изменить свое действие другими средствами? Могу ли я добавить его вручную?

Спасибо!

1 2

1 ответ:

1) вам нужно создать (или изменить, если он существует) файл ресурсов меню, /res/menu/main_menu.xml для создания действий.

Например:

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

    <item
        android:id="@+id/action_refresh"
        android:showAsAction="always"
        android:icon="@drawable/ic_action_refresh"
        android:title="Refresh"/>
    <item
        android:id="@+id/action_settings"
        android:showAsAction="always"
        android:icon="@drawable/ic_action_setting"
        android:title="Settings">
    </item>

</menu> 

2) переопределение onCreateOptionsMenu() в вашей деятельности позволяет раздувать действия, определенные в вашем XML:

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

3) переопределить onOptionsItemSelected(), чтобы отреагировать на выбор действий:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

    case R.id.action_refresh:
      Toast.makeText(this, "Refresh selected", Toast.LENGTH_SHORT).show();
      break;

    case R.id.action_settings:
      Toast.makeText(this, "Settings selected", Toast.LENGTH_SHORT).show();
      break;
    }

    return true;
}