1. ホーム
  2. android

ツールバー ナビゲーション ハンバーガー アイコンがない

2023-07-25 14:21:31

質問

ハンバーガーアイコンをDrawer/DrawerToggleを使わずに、Androidに含まれるデフォルトのアイコンを使って表示する方法を探しています。

設定方法としては getSupportActionBar().setDisplayHomeAsUpEnabled(true); を設定することで、戻る矢印は表示されますが、ハンブルガーは表示されません。Stackoverflowの他の投稿(例えば この または この のように、DrawerLayoutまたはカスタムdrawableを使用します。Androidのソースには、ハンバーガーアイコンのベクターやpngが見当たりません。

android/support libraryにあるオリジナルのハンバーガーアイコンを見つける方法をご存知でしょうか? (または表示方法)

注:ベクターとpngは、google.com/designのウェブサイトで見つけることができます。 http://www.google.com/design/spec/resources/sticker-sheets-icons.html#

私の活動では

mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);

mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.d(LOG_TAG, "navigation clicked");
    }
});

レイアウトファイル

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>

スタイル.xml

<!-- Base application theme. -->
<style name="Theme.AppTheme" parent="Theme.AppCompat.Light.NoActionBar">


    <item name="colorPrimary">@color/primaryDef</item>
    <item name="colorPrimaryDark">@color/primaryDarkDef</item>
    <item name="colorAccent">@color/primaryDef</item>

    <!-- Remove the actionbar shadow-->
    <item name="android:windowContentOverlay">@null</item>
</style>

どのように解決するのですか?

ロリポップと同じドロワーを使いたいのなら、それは静止画像ではないことを教えてあげよう。あの画像は、リアルタイムに描画される DrawerArrowDrawableToggle . だから、ハンバーガーアイコンは存在しないのです。

しかし、もしあなたがアニメーションなしのハンバーガーアイコンが欲しいなら、ここにあります。

https://material.io/tools/icons/?icon=menu&style=baseline