Toolbar是在应用程序内容中使用的标准工具栏。Actionbar在传统上是Activity的由framework控制的window装饰器的一部分. 工具栏可以放置在任意嵌套在一个视图层次上. 应用程序可以将Toolbar当成Actionbar通过setActionBar方法. Toolbar比ActionBar支持更多的特性.从始至终,Toolbar包含下面一些可选的元素.
- 导航按钮 可能是UP箭头,导航菜单Toggle,Colllpse,Done或其他任意有APP选择类型的图标. 导航按钮总是与Toolbar的最小高度水平对齐.
- 一个或更多的自定义View. ##ActionMenu . Action button 与Toolbar的最小高度水平对齐,(如果设置了minimum height)
- 标题和子标题
- 品牌LOGO图片 图片能够扩展Toolbar的高度,可能更宽.
<style name="ToolbarThemeBase" parent="Theme.AppCompat.NoActionBar">
<!-- customize the color palette -->
<item name="colorPrimary">@color/action_bar_bg</item>
<item name="colorPrimaryDark">@color/action_bar_bg</item>
<item name="colorAccent">@color/action_bar_bg</item>
</style>
<style name="ToolbarTheme" parent="@style/ToolbarThemeBase">
<item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
<item name="actionOverflowButtonStyle">@style/OverFlow</item>
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="dropDownListViewStyle">@style/PopupMenuListView</item>
<item name="toolbarStyle">@style/ToolbarStyle</item>
<item name="navigationIcon">@drawable/ic_ab_back</item>
</style>
<!--溢出菜单样式 -->
<style name="OverflowMenuStyle" parent="@style/Widget.AppCompat.Light.PopupMenu.Overflow">
<item name="overlapAnchor">false</item>
<item name="android:dropDownWidth">wrap_content</item>
<item name="android:paddingRight">5dp</item>
<item name="android:dropDownVerticalOffset">4dip</item>
<item name="android:dropDownHorizontalOffset">4dip</item>
</style>
<!-- OverFlow menu Styles -->
<style name="PopupMenuListView" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
<item name="android:divider">@color/divider_normal</item>
<item name="android:dividerHeight">1dp</item>
</style>
<style name="ToolBarTitleTextStyle" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">@dimen/dimen_16_dip</item>
</style>
<style name="ToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
<item name="titleTextAppearance">@style/ToolBarTitleTextStyle</item>
</style>
<android.support.v7.widget.Toolbar
android:id="@+id/id_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"/>
代码
/**
* Created by wangyonghua on 15-7-27.
*/
public class MyActivity extends AppCompatActivity {
protected Toolbar mToolbar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
mToolbar = (Toolbar) findViewById(R.id.id_toolbar);
setSupportActionBar(mToolbar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
return super.onOptionsItemSelected(menuItem);
}
}