2016-02-08 4 views
2

Привет, спасибо за чтение,У моего приложения есть панель действий, но нет menu.xml. Как изменить панель действий?

Когда я впервые сделал свой проект, мне предложила Android Studio выбрать плиту котла. Я выбрал пустую деятельность (без FAB и других). Тем не менее, у моего приложения есть 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) Override onCreateOptionsMenu() в своей деятельности, чтобы позволяет надуть действия, определенные в XML:

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

3) Override 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; 
} 
+1

Большое вам спасибо! Это абсолютно информативный комментарий, который специально ответил на мои вопросы и научил меня действиям. –