В моем приложении есть панель действий, но нет меню.XML. Как изменить панель действий?
Здравствуйте и спасибо за чтение,
Когда я впервые сделал свой проект, Android Studio предложила мне выбрать котельную плиту. Я выбрал пустую деятельность (ту, что без Фаба и других). Тем не менее, мое приложение имеет ActionBar
, но оно просто показывает имя. Теперь я хочу изменить эту панель действий и добавить меню. Моя java расширяет AppCompatActivity
, поэтому есть панель действий. Однако, в отличие от моего предыдущего опыта в eclipse, я не могу найти xml-меню, которое я могу найти.
Как я могу добавить одно или изменить свое действие другими средствами? Могу ли я добавить его вручную?
Спасибо!
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; }