【Android开发】Toolbar的基本使用

主要思路

如果是上方toolbar则需要在activity中设置为无actionbar。
toolbar由三部分组成:

  • 布局文件中的定义部分
  • 在java代码中的设置(部分放到布局文件中也行,但放在java代码中更灵活)
  • 如果需要按钮:menu布局文件及java代码中的listener

具体代码

需要import的主要的包:

  • android.support.v7.widget.Toolbar

【java代码部分】
随Activity存在的则在Activity的onCreate方法中加入代码,并在相应的布局文件中加入定义。
随Fragment存在的则在Fragment的onCreateView方法中加入代码,并在相应的布局文件中加入定义。
如果按钮的响应部分与Fragment有关则需放在Fragment的onCreateView方法中。

Toolbar toolbar1 = (Toolbar) findViewById(R.id.toolbar_xx);
toolbar1.setXXX(...);
toolbar1.setXXX(...);
toolbar1.setXXX(...);
//如果有按钮需要响应的
toolbar.inflateMenu(R.menu.xxxxxxx);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener()
{
    @Override
    public boolean onMenuItemClick(MenuItem item)
    {
        switch (item.getItemId())
        {
            case R.id.menu_xx_list_button1:
                break;
            case R.id.menu_xx_list_button2:
                break;
        }
        return true;
    }
});

【menu部分】

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    >

    "@+id/menu_xx_button1"
        android:icon="@mipmap/ic_menu_button1"
        android:title="@string/menu_button2"
        app:showAsAction="..."
        ...
        />

    "@+id/menu_xx_button2"
        android:icon="@mipmap/ic_menu_button2"
        android:title="@string/menu_button2"
        app:showAsAction="..."
        ...
        />

【Toolbar布局部分】
如果只用一次可以直接放在父元素的布局文件里面。
如果需要复用可以放在一个单独的布局文件里面。
此处以放在父元素的布局文件里面为例。

"@+id/toolbar_xx"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/..."
        android:titleTextColor="..."
        ...
        />

你可能感兴趣的:(android开发)