1. 应用
//获取Toolbar布局 Toolbar toolbar = findViewById(R.id.toolbar); //方法将Toolbar实例传入 setSupportActionBar(toolbar); //添加系统返回按钮在toolbar ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); }2. 绑定布局文件
//给Toolbar绑定菜单按钮XML文件 public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_toolbar,menu); return true; }
3. 处理Toolbar上按钮的点击事件
//处理Toolbar上按钮的点击事件 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { //系统返回按钮ID case android.R.id.home: finish(); return true; case R.id.item_home: //MainActivity设置为singleTask启动方法。当activity为singleTask的时候跳转会清空当前activity任务栈上面所有的activity。 Intent i = new Intent(MeetingListActivity.this,MainActivity.class); startActivity(i); return true; case R.id.item_me: //跳转页面 return true; default: LogUtil.i("toolbar按钮ID", String.valueOf(item.getItemId())); return super.onOptionsItemSelected(item); } }
4.布局文件
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 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" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context="com.cuanbo.cb_iot.View.Presentation.MeetingListActivity" > <android.support.design.widget.AppBarLayout android:id="@+id/app_bar" android:layout_width="match_parent" android:layout_height="@dimen/app_bar_height" android:background="@drawable/background_toolbar" android:fitsSystemWindows="true" android:theme="@style/AppTheme.AppBarOverlay" > <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/toolbar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="@drawable/background_toolbar" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:toolbarId="@+id/toolbar" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" app:layout_collapseMode="parallax"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@drawable/background_toolbar" app:layout_collapseMode="pin" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_list" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/fab_margin" app:backgroundTint="@color/colorAccent" app:layout_anchor="@id/app_bar" app:layout_anchorGravity="bottom|end" app:srcCompat="@android:drawable/ic_input_add" android:elevation="8dp"/> </android.support.design.widget.CoordinatorLayout>
5. menu_toolbar.xml文件
(app:showAsAction-用来指定按钮的显示位置)
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="我" android:id="@+id/item_me" android:icon="@mipmap/ic_account_circle_black_36dp" app:showAsAction="always" app:iconTint="@color/NotTransparent" /> <item android:id="@+id/item_home" android:icon="@mipmap/ic_home_black_48dp" android:title="首页" app:iconTint="@color/NotTransparent" app:showAsAction="ifRoom" /> </menu>