我的应用有操作栏,但没有 menu.xml。如何修改我的操作栏?

My app has an action bar, but no menu.xml. How do I modify my action bar?

您好,感谢阅读,

当我第一次制作我的项目时,Android Studio 提示我选择样板。我选择了空 activity (没有 FAB 和其他的)。不过,我的应用程序有一个 ActionBar,但它只显示名称。现在,我想修改那个操作栏并添加一个菜单。我的 java 扩展了 AppCompatActivity,所以有一个操作栏。但是,与我以前在 eclipse 中的经验不同,没有我可以找到的菜单 xml。

如何通过其他方式添加或修改我的操作?我可以手动添加一个吗?

谢谢!

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) 覆盖 activity 中的 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;
}