如何使用导航抽屉项目名称更改应用程序工具栏名称

How to change the app toolbar name with navigation drawer item name

我在某个应用程序中看到,当我单击导航抽屉的任何项目时,android 应用程序的顶部工具栏“应用程序名称”的文本正在改变项目。要关联,请查看当前任务和目的地的图片。

destination: 我想改成这样而不是app的名字

这是activity_main_drawer.xml

    <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/articles"
            android:icon="@drawable/ic_menu_camera"
            android:title="@string/articles" />
        <item
            android:id="@+id/windows"
            android:icon="@drawable/ic_menu_gallery"
            android:title="@string/windows" />
        <item
            android:id="@+id/linux"
            android:icon="@drawable/ic_menu_slideshow"
            android:title="@string/linux" />
        <item
            android:id="@+id/android"
            android:icon="@drawable/ic_menu_manage"
            android:title="@string/android" />

        <item
            android:id="@+id/miscellaneous_devices"
            android:icon="@drawable/ic_menu_manage"
            android:title="@string/miscellaneous_devices" />

        <item
            android:id="@+id/information_security"
            android:icon="@drawable/ic_menu_manage"
            android:title="@string/information_security" />

        <item
            android:id="@+id/facebook"
            android:icon="@drawable/ic_menu_manage"
            android:title="@string/facebook" />
    </group>

    <item android:title="Communicate">
        <menu>
            <item
                android:id="@+id/nav_share"
                android:icon="@drawable/ic_menu_share"
                android:title="Share" />
            <item
                android:id="@+id/nav_send"
                android:icon="@drawable/ic_menu_send"
                android:title="Send" />
        </menu>
    </item>

</menu>

onNavigationItemSelected方法:

public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.

    switch (item.getItemId()) {
        case R.id.articles:

            break;
        case R.id.windows:

            break;
        case R.id.linux:

            break;
        case R.id.android:

            break;
        case R.id.miscellaneous_devices:

            break;
        case R.id.information_security:

            break;
        case R.id.facebook:

            break;
    }

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}

工具栏只是另一个 UI 组件。

案例一:自带主题的默认工具栏。

getSupportActionBar().setTitle("Your drawer title");

案例 2:自定义工具栏

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            
setSupportActionBar(mActionBarToolbar);
getSupportActionBar().setTitle("Your drawer title");