【问题标题】:Adding Android studio main menu on actionbar在操作栏上添加 Android Studio 主菜单
【发布时间】:2017-04-18 04:54:56
【问题描述】:

请给我一个建议。如何为已创建的项目添加菜单图标(三行符号)。我也想为某些布局添加菜单图标。
请帮忙 非常感谢..I mean this symbol

【问题讨论】:

标签: android android-studio android-actionbar


【解决方案1】:

要在您的应用程序中创建菜单,首先在文件夹中创建名为 res 的文件夹menu

然后在menu创建一个文件main_menu.xml

将以下代码添加到main_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:title="Item1" android:id="@+id/item1"></item>
    <item android:title="Item2" android:id="@+id/item2"></item>
</menu>

此处显示在您的菜单中的标题。

要在任何活动中添加菜单,请将以下代码放入活动文件中。

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the main_menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch(item.getItemId()) {
            case R.id.item1:
               //your action
                break;
            case R.id.item2:
                //your action
                break;
            default:
                return super.onOptionsItemSelected(item);
        }

        return true;
    }

【讨论】:

  • 哥谢谢你的回复..这是汉堡图标吗.?我的意思是汉堡图标。
  • 没有汉堡用于菜单的导航抽屉,它是三个垂直点。
  • 是的..这就是我想要的。我已经创建了我的项目,我想将汉堡图标添加到一个布局中......这不是第一个布局。我该怎么做?谢谢
  • 您想创建菜单或导航抽屉?首先清除它。并且对于在现有项目中添加菜单以在我上面提到的 Activity 文件中添加代码
  • 我想为一个布局创建一个导航抽屉。当我点击汉堡图标时它应该打开。 :) 我想现在很清楚了。请帮助。感谢您的帮助!
【解决方案2】:

// 将活动图标启用为“主页”按钮。

 getActionBar().setHomeButtonEnabled(true);

【讨论】:

    【解决方案3】:

    您可以使用工具栏中的汉堡图标。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.wolfmatrix.dummy.MainActivity">
    
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbarId"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="@color/colorPrimary">
    
        <TextView
            android:id="@+id/toolbarTextId"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="left"
            android:textColor="@android:color/white"
            android:textSize="14sp" />
    </android.support.v7.widget.Toolbar>
    
    <ImageButton
        android:id="@+id/backButtonIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:gravity="left"
        android:padding="10dp"
        app:srcCompat="@drawable/ic_hamburger_icon_black_24dp" />
    
    </RelativeLayout>
    

    【讨论】:

    • 是的,兄弟。汉堡包图标。我已经在约束布局中制作了项目。我想在项目的第三页添加汉堡图标。你能帮忙吗
    • 你是如何使用这个的:作为抽屉还是什么?我想如果你想包含汉堡图标,那么这对你有帮助。
    • 是的,作为抽屉..还有其他方法吗?我可以使用这个为任何页面添加汉堡包图标吗?
    • 使用这个第三方库,简单易用:github.com/mikepenz/MaterialDrawer
    • 您可以使用上面的示例来包含 hambrger 图标。您可以从 android studio 的矢量资源中找到默认的图标。
    【解决方案4】:

    如果您在布局中使用Toolbar XML,那么您可以更改Home 图标,如下所示:

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

    【讨论】: