如何管理 Android 工具栏

How to manage Android toolbar

我正在开发一个应用程序,我将 android widget.toolbar 作为 supportActionBar,但我找不到任何关于如何管理其属性的信息。例如,我想在溢出菜单中修改和添加元素(我根本不知道名称是否正确,但我的意思是当您单击右上角的 3 点默认图标时出现的那个.我会 post 一张图片。)并为它们中的每一个设置一个监听器。

对于菜单,您必须遵循旧的实现方式。您在 res/menu/your_menu.xml 中添加一个项目,您指定一个操作并在 Activity 或 Fragment.

onOptionsItemSelected() 中管理该操作

看这个例子:

在activity中:

Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);

        //Title and subtitle
        toolbar.setTitle("MY toolbar");
        toolbar.setSubtitle("Subtitle");

        //Menu
        toolbar.inflateMenu(R.menu.toolbar_menu);

        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {

                switch (menuItem.getItemId()){
                    case R.id.action_share:
                        Toast.makeText(ToolbarActivity.this,"Share",Toast.LENGTH_SHORT).show();
                        return true;
                }

                return false;
            }
        });

在 XML 文件中:

像普通选项菜单一样创建 xml 文件:

toolbar_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="example.gmariotti.it.test21.ToolbarActivity" >

    <item android:id="@+id/action_search"
          android:title="@string/action_search"
          android:icon="@drawable/ic_search"
          android:showAsAction="ifRoom" />

    <item android:id="@+id/action_share"
          android:title="@string/action_share"
          android:icon="@drawable/ic_share"
          android:showAsAction="ifRoom" />


    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never" />
</menu>