0

这是我的setUpToolbar方法。它在 mainActivity 的 onCreate 中调用。我的问题是,为什么 humberger 图标不显示在工具栏中,而工具栏显示后退导航图标在工具栏中。

这是我的setUptoolbar方法。

private void setUpToolbar() {

        Toolbar archiveToolbar = (Toolbar)findViewById(R.id.xmlToolbarMain);
        setSupportActionBar(archiveToolbar);

        getSupportActionBar().setDisplayShowTitleEnabled(false);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    }

这是我的工具栏 xml:

 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/xmlToolbarMain"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="#34465d"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:transitionName="actionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            />

这是我在 values dir 下的风格:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>


</resources>

在此处输入图像描述

4

4 回答 4

4

对于此功能,您需要添加 ActionBarDrawerToggle 对象并将其与工具栏同步。

像这样的东西:

public class DrawerActivity extends AppCompatActivity {

private DrawerLayout drawerLayout;
private ActionBarDrawerToggle drawerToggle;

...

private void setupDrawerLayout() {
     drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
     drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.open, R.string.close);
     drawerLayout.setDrawerListener(drawerToggle);
}

...

@Override
protected void onPostCreate(Bundle savedInstanceState) {
     super.onPostCreate(savedInstanceState);
     drawerToggle.syncState();
}

这应该会有所帮助。

于 2016-02-05T11:47:21.280 回答
1

setUpToolbar您必须通过在方法中添加以下代码来添加该图标

getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);// whatever your icon name
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
于 2016-02-05T11:44:15.287 回答
1

将此添加到您的代码中:

toolbar.setNavigationIcon(R.drawable.hamburger);
toolbar.setTitle("");
于 2016-02-05T11:44:41.313 回答
0

第一种方法

手动设置自定义汉堡图标

getSupportActionBar().setIcon(R.drawable.your_hamburger_icon);

或者

汉堡包是为了ActionBarDrawerToggle

然后添加DrawerLayoutActionBarDrawerToggle

于 2016-02-05T11:51:54.207 回答