相关疑难解决方法(0)

Android工具栏为不同的片段添加菜单项

我有一个工具栏和一个导航抽屉.当我启动我的应用程序时,会创建工具栏和导航抽屉.当我单击导航抽屉中的项目时,它会启动新的片段并保留相同的工具栏.当我启动特定片段时,如何将菜单项添加到工具栏中,例如搜索,添加,编辑?我不希望它们在程序的开头,但是动态创建.此外,我如何能够单击这些按钮并让它们启动其他片段.我希望它在一个片段中,与另一个片段中的编辑按钮相比,工具栏中的编辑按钮执行特定的操作.谢谢!

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 android-fragments android-toolbar

73
推荐指数
7
解决办法
6万
查看次数

在工具栏上显示活动和片段的不同菜单选项

Android Studio 1.4
Run Code Online (Sandbox Code Playgroud)

我有一个工具栏,我在我的膨胀activity_main.xml.我有一个叫做main.xml膨胀的菜单,只有1个图标可以显示在上面.

当用户单击以打开片段时.我有另一个菜单friends.xml,有2个图标.

当我在片段中为朋友菜单充气时,它仍会显示菜单中的图标main.xml.

我认为在工具栏上膨胀新菜单会删除现有菜单.

这是main.xml菜单的屏幕截图.将显示查找图标 在此输入图像描述

这是片段的屏幕截图,因为您可以看到查找图标仍然存在.

在此输入图像描述 activity_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)

android android-toolbar

8
推荐指数
1
解决办法
1万
查看次数