菜单项未显示在工具栏上
menu items not showing on toolbar
我已经搜索并发现其他也有同样的问题,但我仍然无法解决菜单项未显示在操作栏中的问题。我会post我的行动条码,menu_main.xml和MainActivity
。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:minHeight="?attr/actionBarSize"
android:elevation="10dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PROJECT TIMELINE"
android:id="@+id/toolbar_title"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="@color/ColorPrimaryDark" />
</android.support.v7.widget.Toolbar>
这是来自menu_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
<item android:id="@+id/search"
android:title="@string/Search"
android:icon="@drawable/ic_action"
app:showAsAction="ifRoom"
/>
</menu>
我在 MainActivity.java
中写了这个
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
初始化工具栏并在 Activity
的 onCreate
中调用此方法
setSupportActionBar(yourToolbar);
您必须确保将工具栏设置为操作栏。在您的 onCreate 方法中:
public void onCreate(Bundle savedInstanceState) {
setContentView(yourlayoutview);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null)
setSupportActionBar(toolbar);
}
确保将 id 添加到工具栏:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:minHeight="?attr/actionBarSize"
android:elevation="10dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PROJECT TIMELINE"
android:id="@+id/toolbar_title"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="@color/ColorPrimaryDark" />
</android.support.v7.widget.Toolbar>
对于那些使用带导航工具栏的用户 ui,请确保在 NavigationUI.setupWithNavController() 之前调用 setSupportActionBar(yourToolbar) 否则您的工具栏按钮(主要是后退按钮)将无法使用。
我已经搜索并发现其他也有同样的问题,但我仍然无法解决菜单项未显示在操作栏中的问题。我会post我的行动条码,menu_main.xml和MainActivity
。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:minHeight="?attr/actionBarSize"
android:elevation="10dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PROJECT TIMELINE"
android:id="@+id/toolbar_title"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="@color/ColorPrimaryDark" />
</android.support.v7.widget.Toolbar>
这是来自menu_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
<item android:id="@+id/search"
android:title="@string/Search"
android:icon="@drawable/ic_action"
app:showAsAction="ifRoom"
/>
</menu>
我在 MainActivity.java
中写了这个public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
初始化工具栏并在 Activity
的onCreate
中调用此方法
setSupportActionBar(yourToolbar);
您必须确保将工具栏设置为操作栏。在您的 onCreate 方法中:
public void onCreate(Bundle savedInstanceState) {
setContentView(yourlayoutview);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null)
setSupportActionBar(toolbar);
}
确保将 id 添加到工具栏:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:minHeight="?attr/actionBarSize"
android:elevation="10dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PROJECT TIMELINE"
android:id="@+id/toolbar_title"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="@color/ColorPrimaryDark" />
</android.support.v7.widget.Toolbar>
对于那些使用带导航工具栏的用户 ui,请确保在 NavigationUI.setupWithNavController() 之前调用 setSupportActionBar(yourToolbar) 否则您的工具栏按钮(主要是后退按钮)将无法使用。