ToolBar是ActionBar 的升级版,它比ActionBar更灵活,可以放置在任何位置。
ToolBar的使用方法也有两种,直接单独使用或与ActionBar结合在一起使用。
ToolBar可以设置状态栏的颜色---colorPrimaryDark,ToolBar的背景颜色----colorPrimary,以及ToolBar上的文字颜色---textColorPrimary。
使用步骤:
①将ToolBar加入布局文件
<android.support.v7.widget.Toolbar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:title="title"/>
②在style文件中设置style样式:态栏的颜色---colorPrimaryDark,ToolBar的背景颜色----colorPrimary,以及ToolBar上的文字颜色---textColorPrimary
<style name="AppTheme" parent="Theme.AppCompat">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="android:textColorPrimary">@color/white</item>
<!-- 窗口的背景颜色 -->
<item name="android:windowBackground">@android:color/white</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
将Menifest中Application的Theme改为AppTheme
android:theme="@style/AppTheme"
③设置ToolBar的返回键图标
法一:app:navigationIcon=“。。。”
法二:mToolBar.setNavigationIcon(“...”)
④设置ToolBar的监听器
⑤设置ToolBar的SEtting Menu栏目
mToolBar = (Toolbar) view.findViewById(R.id.toolbar);
mToolBar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "back", Toast.LENGTH_LONG).show();
}
});
mToolBar.inflateMenu(R.menu.menu_main);
mToolBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if(id == R.id.action_settings){
Toast.makeText(getContext(), "menu", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
});
<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_settings" android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never" />
</menu>