java - 操作栏 - 缺少菜单
问题描述
由于我是 Android Studio 的新手,所以我在这里有一个问题要问,希望你们不要介意。
所以我创建了在右上端应该有 3 个点并且应该调用菜单的操作菜单。无论如何,这是我的菜单:
在我的主要活动中,我可以看到菜单,但看不到标题和 3 个点。
我的 main.java 类(LocationInit)的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
case R.id.GoogleMaps:
Intent googlemaps = new Intent(this, googlemaps.class);
startActivity(googlemaps);
break;
case R.id.Settings:
Intent settings = new Intent(this, SettingsActivity.class);
startActivity(settings);
break;
case R.id.LastLocation:
Toast.makeText(getApplicationContext(),"Help", Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
AndroidManifest.xml:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
最后是我的 app_bar.xml(动作栏的 XML):
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:theme="@style/CustomToolbarStyle"
app:popupTheme="@style/CustomPopupTheme">
</android.support.v7.widget.Toolbar>
解决方案
main_menu.xml 代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_main_setting"
android:icon="@drawable/ic_settings"
android:orderInCategory="100"
app:showAsAction="always"
android:actionLayout="@layout/toolbar"
android:title="Setting" />
<item
android:id="@+id/menu_main_setting2"
android:icon="@drawable/ic_settings"
android:orderInCategory="200"
app:showAsAction="always"
android:actionLayout="@layout/toolbar"
android:title="Setting" />
</menu>
并在您的 MainPage.java 中像这样覆盖onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
并在onCreate()添加这个
toolbar.inflateMenu(R.menu.main_manu);
推荐阅读
- charts - 如何更改 resetZoomButton 文本(Vaadin 图表)?
- uicollectionview - 使用不同的数据源添加、更改和删除
- jupyter-notebook - 禁用从 jupterlab 和笔记本下载的选项
- arrays - 同一函数中的常量会抛出未解析的标识符
- android - 将项目添加到 Baseadapter
- r - R函数中灵活数量的参数
- c# - 使用零设置任何除法错误的值 - 使用 C# 评估字符串表达式
- docker - 如何在 Heroku 中推送 docker-compose.yml
- python - 如何仅显示文件中的前 5 个高分?
- python - 获取数据框列中的值的计数并将值本身放入单独的列表中