2

我有一个具有以下层次结构的应用程序:

MainActivity (Shows list of dates) 
    | 
ViewPagerFragment (Shows list of children for those dates)
    | 
ChildFragment (Detail View)

我正在尝试从设计支持库中实现导航视图,但无法让工具栏上的实际导航正常工作。

这是主活动工具栏:

主要活动导航

这是从主要活动导航到那里后的 ViewPagerFragment,请注意没有后退按钮...

子活动导航

这是所需的工具栏: 所需的工具栏

我正在使用以下代码添加片段:

    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.content_frame, fragment, fragment.getClass().getName())
            .addToBackStack(fragment.getClass().getName())
            .commitAllowingStateLoss();

以下是与活动启动相关的代码:

protected void setupActionBar() {
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
}

我的导航抽屉设置:

protected void setupNavigationDrawer() {
    navigationView.setNavigationItemSelectedListener(this);
    actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawerLayout.setDrawerListener(actionBarDrawerToggle);
    actionBarDrawerToggle.syncState();
}

点击设备上的硬件后退按钮可以正确导航回来。我似乎无法让后退箭头出现在抽屉开关上......有什么建议吗?

4

2 回答 2

3

要禁用导航抽屉图标并改为显示不同的图标,您需要setDrawerIndicatorEnabled(false)调用ActionBarDrawerToggle.

您可能还需要调用setHomeAsUpIndicator()以指定要使用的图标,而不是“汉堡”图标。

于 2015-07-10T15:10:51.443 回答
1

您是否尝试过到达 Activity 的 ActionBar ?

在 onViewCreated 中:

Toolbar mToolbar = (Toolbar) view.findViewById(R.id.toolbar);
((Activity) getActivity()).setSupportActionBar(mToolbar);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
于 2015-07-10T13:52:32.517 回答