Toolbar替代系统的ActionBar
第一步:打开AndroidManifest.xml,
查看
<application>
android:theme="@style/AppTheme"
</application>
点击@style/AppTheme,默认的主题是
<!--深色的ActionBar主题-->
Theme.AppCompat.Light.DarkActionBar
不带ActionBar主题有两种:
1、Theme.AppCompat.NoActionBar 表示深色主题
2、Theme.AppCompat.Light.NoActionBar 表示淡色主题
将@style/AppTheme中的主题换为淡色主题
在布局用Toolbar
<android.support.v7.widget.Toolbar
android:id="@+id/toolBar"
android:layout_width="match_parent"
android:layout_height="80dp"
<!--因为主题是淡色的,字体颜色就会变加深,所以避免出现这种情况,应设置如下-->
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
/>
如果想要在标题栏上显示一些菜单按钮可在res目录定义一个
menu文件夹,创建一个toolbar.xml文件。简单演示:
<item
android:id="@+id/add"
android:icon="@drawable/ic_add"
android:title="add"
app:showAsAction="always"
/>
always:永远显示,屏幕空间不够将不显示
ifRoom:屏幕空间足够就显示,不够就显示在菜单中
never:永远显示在菜单中
在代码中将菜单显示出来
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.toolbar,menu);
return true;
}
菜单的点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.add:
//想要实现的事
break;
}
return true;
}