ToolBar的簡單使用

一.簡單使用
1.佈局文件Xml中的設置:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorAccent"
    app:navigationIcon="@drawable/ic_back_white_24dp"
    app:title="標題"
    app:titleTextColor="@color/white">
 </android.support.v7.widget.Toolbar>

2.在style文件中設置出掉之前的樣式

<resources>
   <!-- Base application theme. -->
  <style name="Base.AppTheme" parent="Theme.AppCompat">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
   </style>
</resources>

在這裏插入圖片描述
3.mainActivity中的基本設置:

	public class MainActivity extends AppCompatActivity {
    @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  		  // Logo
  	 toolbar.setLogo(R.mipmap.push_4);
    // 主標題
    toolbar.setTitle("Title");
    // 副標題
    toolbar.setSubtitle("Sub Title");
    //設置toolbar
    setSupportActionBar(toolbar);
    //左邊的小箭頭(注意需要在setSupportActionBar(toolbar)之後纔有效果)
    toolbar.setNavigationIcon(R.mipmap.back);
    //菜單點擊事件(注意需要在setSupportActionBar(toolbar)之後纔有效果)
    toolbar.setOnMenuItemClickListener(onMenuItemClick);
  }
}

二.菜單部分
1.首先給toolbar綁定一個菜單

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// 綁定toobar跟menu
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

2、其中R.menu.menu_main是我們創建的一個菜單文件,代碼如下:

<?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"
  xmlns:tools="http://schemas.android.com/tools"
  tools:context=".MainActivity">

<item
    android:id="@+id/action_edit"
    android:icon="@mipmap/push_3"
    android:orderInCategory="80"
    android:title="@string/action_edit"
    app:showAsAction="never"/>

<item
    android:id="@+id/action_share"
    android:icon="@mipmap/push_3"
    android:orderInCategory="90"
    android:title="@string/action_edit"
    app:showAsAction="never"/>

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

3、設置菜單的點擊事件,前面我們已經看到了toolbar.setOnMenuItemClickListener(onMenuItemClick);這句代碼,那麼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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章