您好,感谢您的阅读,
当我第一次制作项目时,Android Studio 提示我选择样板。我选择了空活动(没有 FAB 和其他活动的活动)。不过,我的应用程序有一个ActionBar
,但它只显示名称。现在,我想修改那个操作栏并添加一个菜单。我的 java extends AppCompatActivity
,所以有一个操作栏。但是,与我之前在 Eclipse 中的经验不同,我没有可以找到的菜单 xml。
如何通过其他方式添加或修改我的操作?我可以手动添加一个吗?
谢谢!
您好,感谢您的阅读,
当我第一次制作项目时,Android Studio 提示我选择样板。我选择了空活动(没有 FAB 和其他活动的活动)。不过,我的应用程序有一个ActionBar
,但它只显示名称。现在,我想修改那个操作栏并添加一个菜单。我的 java extends 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)在您的活动中覆盖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;
}