我有一个工具栏和一个导航抽屉.当我启动我的应用程序时,会创建工具栏和导航抽屉.当我单击导航抽屉中的项目时,它会启动新的片段并保留相同的工具栏.当我启动特定片段时,如何将菜单项添加到工具栏中,例如搜索,添加,编辑?我不希望它们在程序的开头,但是动态创建.此外,我如何能够单击这些按钮并让它们启动其他片段.我希望它在一个片段中,与另一个片段中的编辑按钮相比,工具栏中的编辑按钮执行特定的操作.谢谢!
Menu_toolbar:
<?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/edit"
android:orderInCategory="1"
android:title="Edit"
app:showAsAction="always"
android:icon="@drawable/pencil_icon"/>
<item android:id="@+id/add"
android:orderInCategory="1"
android:title="Add"
app:showAsAction="always"
android:icon="@drawable/plus_icon"/>
Run Code Online (Sandbox Code Playgroud)
工具栏:
<?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:layout_width="match_parent"
android:layout_height="55dp"
android:background="#10a1ff"
android:title="Home"
/>
Run Code Online (Sandbox Code Playgroud) Android Studio 1.4
Run Code Online (Sandbox Code Playgroud)
我有一个工具栏,我在我的膨胀activity_main.xml.我有一个叫做main.xml膨胀的菜单,只有1个图标可以显示在上面.
当用户单击以打开片段时.我有另一个菜单friends.xml,有2个图标.
当我在片段中为朋友菜单充气时,它仍会显示菜单中的图标main.xml.
我认为在工具栏上膨胀新菜单会删除现有菜单.
这是片段的屏幕截图,因为您可以看到查找图标仍然存在.
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/tbMain"
layout="@layout/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
这是我在MainActivity.java中创建菜单的代码
private void setupToolBar() {
mToolbar = (Toolbar)findViewById(R.id.tbMain);
setSupportActionBar(mToolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
在我的片段中,我有这个,因为你可以看到我正在膨胀friends.xml菜单.
@Override
public void onCreateOptionsMenu(Menu menu, …Run Code Online (Sandbox Code Playgroud)