不,"汉堡"从Fragment设置工具栏时DrawerLayout的图标

时间:2015-12-15 14:18:55

标签: android material-design androiddesignsupport

我正在使用Android设计支持库来获取导航抽屉图案。我有以下主要活动布局:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res/pl.dzielins42.skinflint.android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="http://schemas.android.com/apk/res-auto"
    tools:ignore="MergeRootFrame" >

    <!-- The main content view -->

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- The navigation drawer -->

    <android.support.design.widget.NavigationView
        android:id="@+id/drawer_navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/view_nav_drawer_header"
        app:menu="@menu/drawer" />

</android.support.v4.widget.DrawerLayout>

container布局是我对片段进行充气的地方。一些片段的布局中有Toolbar个。我使用导航抽屉在这些片段之间移动。在使用Toolbar的每个片段中,我使用setSupportActionBar将其设置为活动的操作栏,稍后

supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeButtonEnabled(true);

问题在于第一个片段(在活动onCreate中膨胀)&#34; 汉堡包&#34;图标显示正确,但在我将片段更改为Toolbar的另一个片段后,图标将更改为标准后箭头。

我尝试使用ActionBarDrawerToggle(v7)并在syncState中调用onDrawerClosed来解决此问题。这部分修复了它,因为&#34; hamburger &#34;图标已设置但仅在抽屉完全关闭后才会设置,因此当它仍然关闭时,会显示后退箭头图标。

有人可以提供更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

正确设置ActionBarDrawerToggle

mDrawerToggle.setDrawerIndicatorEnabled(true);