1. 程式人生 > >Material Design之ToolBar

Material Design之ToolBar

ToolBar可以定製修改的地方有:

  1.     設定導航欄圖示
  2.     設定App的logo
  3.     支援設定標題和子標題
  4.     支援新增一個或者多個的自定義控制元件
  5.     支援Action Menu


佈局檔案:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/background_color" android:orientation="vertical"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar_tl" android:layout_width="match_parent" android
:layout_height="wrap_content" android:background="@drawable/bg_blue"> <!--自定義控制元件--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="自定義控制元件" android:textColor="@android:color/white"
android:textSize="@dimen/middle" /> </android.support.v7.widget.Toolbar> </LinearLayout>

Action Menu 佈局

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/up"
        android:icon="@mipmap/up"
        android:title="提交"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/share"
        android:icon="@mipmap/wd_icon_fx"
        android:title="分享"
        app:showAsAction="ifRoom" />
</menu>

然後在java程式碼中獲取ToolBar,設定相應的值。如下:

toolbar_tl= (Toolbar) findViewById(R.id.toolbar_tl);
toolbar_tl.setNavigationIcon(R.mipmap.lst_sy_ptsk); //設定導航欄圖示
toolbar_tl.setLogo(R.mipmap.ic_launcher);//設定logo
toolbar_tl.setTitle("Title");//設定標題
toolbar_tl.setSubtitle("subtitle");//設定子標題
toolbar_tl.inflateMenu(R.menu.boolbar_menu); //設定右上角填充選單
//設定選單點選事件
toolbar_tl.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem item) {
        switch (item.getItemId()){
            case R.id.up:
                Toast.makeText(mContext,"您點選了up",Toast.LENGTH_SHORT).show();
                break;
            case R.id.share:
                Toast.makeText(mContext,"您點選了share",Toast.LENGTH_SHORT).show();
                break;
        }
        return false;
    }
});