Toolbar
toolbar使用来替代ActionBar的,更灵活,也更符合md设计规范.
如何使用?
- 替换主题为NoActionBar系列
- xml中加入toolbar控件
- activity中使用
setSupportActionBar(toolbar);
替换ActionBar - 设置相应属性咋可使用
getSupportActionBar()
来获取ActionBar实例 设置toolBar上的menu需要在res文件夹下新建menu文件夹,新建相应的menu资源文件,插入相应的item项,指定id、icon(显示的图标)、title(显示的文字)、showAsAction(item位置,要用app做命名空间,保证向下兼容),可接受的值有:
always:使菜单项一直显示在ToolBar上
ifRoom:如果有足够的空间,这个值会使菜单项显示在ToolBar上
never:使菜单项永远都不出现在ToolBar上,在…的子项中显示
withText:使菜单项和它的图标,菜单文本一起显示
- 重写
onCreateOptionsMenu()
在其中加入getMenuInflater().inflate(R.menu.menu_home, menu);
来引入menu资源 - 重写
onOptionsItemSelected()
来处理item点击事件
自定义toolbar菜单样式
<style name="ToolbarTheme" parent="Theme.AppCompat.Light">
<!-- 更换Toolbar OVerFlow menu icon -->s
<item name="actionOverflowButtonStyle">@style/OverFlowIcon</item>
<