如果您使用工具栏,那么您应该能够在任何API中查看完全相同的工具栏。
为了实现这一点,您需要在res/layout中有一个XML文件:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"/>
在你的主布局中,你应该将它包含进去:
<include
android:id="@+id/app_bar"
layout="@layout/app_bar" />
同时,您应该在styles.xml中将样式设置为无操作栏。
<style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>
</style>
但对于API 21,你应该有另一个styles.xml:
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primaryDark</item>
<item name="android:colorAccent">@color/accent</item>
</style>
最后,在您的主活动中
toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
最后,对于任何你想在工具栏上进行的操作,获取它并像旧的 Action Bar 一样处理:
getSupportActionBar().setHomeAsUpEnabled(true);