Toolbar

默认ActionBar:在style.xml文件中定义了AppTheme,它的父主题为Theme.AppCompat.Light.DarkActionBar,这个DarkActionBar是一个深色的ActionBar主题
指定不带ActionBar的主题,Theme.AppCompat.NoActionBar,Theme.AppCompat.ActionBar
MaterialDesign是在Android5.0系统中才出现的,为了兼容老系统需要引入App命名空间
AppTheme是淡色主题,则默认ToolBar也是淡色主题,ToolBar上的各种元素就会自动使用深色系,这样效果很差,为是ToolBar单独使用深色主题,要指定它的android:theme属性ThemeOverlay.AppCompat.Dark.ActionBar
但此时ToolBar上的按钮弹出的菜单项也会变成深色主题,设置app:pupupTheme将菜单项设为淡色主题
ThemeOverlay.AppCompat.Light


<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app.popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

在Activity.java里设置

Toolbar toolbar=(Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

用android:lable来指定toolbar的标题


给Toolbar增加菜单项
res->new->Directory-new menu->new->Menu resource file->toolbar.xml
item的app:showAsAction属性来设置菜单项的显示方式
always:永远显示在toolbar中如果空间不够就不显示
ifRoom,never

public boolean onCreateOptionsMenu(Menu menu)
public boolean onOptionsItemSelected(MenuItem item)

注意:Toolbar中的action按钮只显示图标,菜单中的action按钮只显示文字


使用Android Studio自带的图标
res->image asset


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容