ToolBar初步

来源:互联网 发布:怎样申请淘宝店 编辑:程序博客网 时间:2024/06/09 15:09

使用

xml中直接添加,可以在其中添加子控件,实现自己的布局。

<android.support.v7.widget.Toolbar        android:id="@+id/toolbar"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="@color/color_0176da">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="HelloWorld" />    </android.support.v7.widget.Toolbar>

java代码中,activity要继承AppCompatActivity类,直接使用NoActionBar主题来替换actionbar。

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

控件

image

  1. setNavigationIcon
    即设定 up button 的图标,因为 Material 的介面,在 Toolbar这里的 up button样式也就有別于过去的 ActionBar 哦。

  2. setLogo
    APP 的图标。

  3. setTitle
    主标题。

  4. setSubtitle
    副标题。

  5. setOnMenuItemClickListener
    设定菜单各按鈕的动作。

菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:app="http://schemas.android.com/apk/res-auto"    >    <item        android:id="@+id/action_search"        android:title="搜索点号"        app:showAsAction="always"        android:icon="@drawable/serch"        />    <item        android:id="@+id/action_openpro"        android:orderInCategory="100"        app:showAsAction="never"        android:title="打开工程"/>    <item        android:id="@+id/action_menagepro"        android:orderInCategory="100"        app:showAsAction="never"        android:title="工程管理"/>    <item        android:id="@+id/action_showtype"        android:orderInCategory="100"        app:showAsAction="never"        android:title="查看类型"/>    <item        android:id="@+id/action_showall"        android:orderInCategory="100"        app:showAsAction="never"        android:title="全图显示"/>    <item        android:id="@+id/action_settings"        android:orderInCategory="100"        app:showAsAction="never"        android:title="设置"/></menu>

效果预览

image

activity中使用

@Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main, menu);        return super.onCreateOptionsMenu(menu);    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        Log.i("hhhhh", "onOptionsItemSelected: ");        switch (item.getItemId()) {            case R.id.action_search:                break;            case R.id.action_settings:                break;            case R.id.action_openpro:                break;            case R.id.action_menagepro:                break;            case R.id.action_showall:                break;            case R.id.action_showtype:                break;            default:                break;        }        return super.onOptionsItemSelected(item);    }

menu按钮的颜色改为白色:

app:popupTheme="@style/ThemeOverlay.AppCompat.Light"app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

通过toolbar获取到menu之后可以动态控制MenuItem的显示方式,以实现在不同情况下显示不同的操作。

Menu menu=mToolbar.getMenu();MenuItem menuItemEdit=menu.findItem(R.id.action_edit);MenuItem menuItemDelect=menu.findItem(R.id.action_delect);menuItemDelect.setVisible(false);menuItemEdit.setVisible(false);

相关文章:

Android Toolbar,你想知道的都在这里了

android:ToolBar详解(手把手教程)

Android ToolBar 使用完全解析

0 0
原创粉丝点击