toolbar的使用

来源:互联网 发布:mac os x 开机启动项 编辑:程序博客网 时间:2024/05/18 16:40

布局文件中添加toolbar控件

<android.support.v7.widget.Toolbar    android:id="@+id/toolbar"    android:layout_height="?attr/actionBarSize"    android:layout_width="match_parent"    android:background="?attr/colorPrimary" ></android.support.v7.widget.Toolbar>

菜单文件中配置toolbar样式

<menu 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"    tools:context=".MainActivity">    <item android:id="@+id/action_edit"        android:title="@string/action_edit"        android:orderInCategory="80"        android:icon="@drawable/ab_edit"        app:showAsAction="ifRoom" />    <item android:id="@+id/action_share"        android:title="@string/action_edit"        android:orderInCategory="90"        android:icon="@drawable/ab_share"        app:showAsAction="ifRoom" />    <item android:id="@+id/action_settings"        android:title="@string/action_settings"        android:orderInCategory="100"        app:showAsAction="never"/></menu>


代码文件中添加代码:

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);    // App Logo    toolbar.setLogo(R.drawable.ic_launcher);    // Title    toolbar.setTitle("My Title");    // Sub Title    toolbar.setSubtitle("Sub title");    setSupportActionBar(toolbar);    // Navigation Icon 要設定在 setSupoortActionBar 才有作用    // 否則會出現 back bottom    toolbar.setNavigationIcon(R.drawable.ab_android);    // Menu item click 的監聽事件一樣要設定在 setSupportActionBar 才有作用    toolbar.setOnMenuItemClickListener(onMenuItemClick);}private Toolbar.OnMenuItemClickListener onMenuItemClick = new Toolbar.OnMenuItemClickListener() {    @Override    public boolean onMenuItemClick(MenuItem menuItem) {        String msg = "";        switch (menuItem.getItemId()) {            case R.id.action_edit:                msg += "Click edit";                break;            case R.id.action_share:                msg += "Click share";                break;            case R.id.action_settings:                msg += "Click setting";                break;        }        if(!msg.equals("")) {            Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();        }        return true;    }};@Overridepublic boolean onCreateOptionsMenu(Menu menu) {    // 為了讓 Toolbar 的 Menu 有作用,這邊的程式不可以拿掉    getMenuInflater().inflate(R.menu.menu_main, menu);    return true;}


activity样式需要配置属性 在Styles.xml文件中

<style name="AppTheme" parent="AppTheme.Base">

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">    <item name="windowActionBar">false</item>    <item name="android:windowNoTitle">true</item>    <item name="colorPrimary">@color/accent_material_dark</item>    <item name="colorPrimaryDark">@color/accent_material_light</item>    <item name="android:windowBackground">@color/dim_foreground_material_dark</item></style>


在AndroidManifest.xml配置该activity的样式

android:theme="@style/AppTheme"

0 0