Android L中不推荐使用操作栏导航模式
看一下Android“L”预览的API差异报告,我看到ActionBar类中的所有与导航模式相关的方法(如setNavigationMode() , addTab() , selectTab() ,&c)。 现在已被弃用。 
文档解释:
内置工具栏操作栏不支持操作栏导航模式。 考虑使用其他常见的导航模式。
什么是假定的替代?
另外,“内联工具栏动作栏”是一个新的概念吗? 我以前从来没有听说过。
 新的Androiddevise支持库添加了TabLayout ,提供了与标签的材料devise准则相匹配的标签实现。  本video介绍了如何实现Tabs和ViewPager完整演练 
现在不推荐使用: PagerTabStrip是支持库的一部分(并且已经有一段时间了),并作为直接replace。 如果您更喜欢较新的Google Play样式标签,则可以使用PagerSlidingTabStrip库或修改Google提供的示例SlidingTabsBasic或SlidingTabsColors,如本Dev Devvideo中所述 。
现在,Android 5.0文档可用,我们有工具栏小部件的官方文档 :
用于应用程序内容的标准工具栏。
工具栏是在应用程序布局中使用的动作条的泛化。 虽然操作栏传统上是由框架控制的Activity的不透明窗口装饰的一部分,但工具栏可以放置在视图层次结构中的任意任意级别的嵌套上 。
  Toolbar小部件也可以用来replace操作栏: 
应用程序可以select使用
setActionBar()方法将工具栏指定为Activity的操作栏。
操作栏中标签的弃用很可能是由于这个原因,因为工具栏本身不能包含标签。
另外,它可以通过appcompat库在之前的Android版本中使用。 有关更多信息,请参阅Chris Banes的这篇文章 。 摘录:
Android 5.0引入了一个新的工具栏小部件。 这是ActionBar模式的一个泛化,但给你更多的控制和使用它的灵活性。 工具栏就像任何其他视图一样,使您可以更轻松地与其他视图交互,生成animation,对滚动事件作出反应。
 看起来他们添加了一个名为android.widget.Toolbar的新类,它扩展了ViewGroup 。 他们还在Activity添加了一个新的方法setActionBar(Toolbar) 。 我还没有testing,但它看起来像你可以将各种TabWidgets , Spinners或自定义视图包装到一个Toolbar并将其用作您的操作栏。 
 新的Toolbar不能用于多行对象的膨胀,所以不可能添加Tabs到它。 
 如果你想像TabWidget一样使用Toolbar你可以插入一些Tab对象,但只能使用旧的Holo风格。 
  这里有一个自定义库,它使用v7 Toolbar如TabWidget和新的Material Designanimation,但是它使用旧的ActionBar Tabs的相同方法,因此您可以将ViewPager附加到它。 
为了replace已弃用的ActionBar,我将ActionBartypes的variablestypes更改为PagerTabStrip,按照注释中的旧代码:
 // ActionBar bigActionBar; PagerTabStrip bigActionBar; 
〜actionBar的.selectTab(tabindex)的“replace”是使用我的关联的ViewPager的.setCurrentItem(int)方法,就像这样(注释中的旧代码):
 /* ActionBar.Tab eventTab = bigActionBar.getTabAt(2); bigActionBar.selectTab(eventTab); */ mViewPager.setCurrentItem(2); 
希望这是有帮助的。
我有同样的问题,这个解决scheme很适合我:
在包含viewpager的布局xml文件中,添加一个PagerTabStrip,如下所示:
 <android.support.v4.view.PagerTabStrip android:id="@+id/pager_tab_strip" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top" android:background="#996633" android:textColor="#CCCCCC" android:paddingTop="5dp" android:paddingBottom="5dp" /> 
要控制页面标题,请在您的ViewPager文件中添加一个switch语句:
 @Override public CharSequence getPageTitle(int position) { switch (position) { case 0: return "Page 1"; case 1: return "Page 2"; case 2: return "Page 3"; } return null; } 
FragmentTabHost也是一个选项。
此代码来自Android开发人员的网站:
 /** * This demonstrates how you can implement switching between the tabs of a * TabHost through fragments, using FragmentTabHost. */ public class FragmentTabs extends FragmentActivity { private FragmentTabHost mTabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_tabs); mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost); mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"), FragmentStackSupport.CountingFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"), LoaderCursorSupport.CursorLoaderListFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"), LoaderCustomSupport.AppListFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"), LoaderThrottleSupport.ThrottledLoaderListFragment.class, null); } } 
我发现这些教程很有帮助,同时将支持滑动标签的操作栏(现在称为“工具栏” – argh)与Material Design结合在一起:
https://www.youtube.com/watch?v=Fl0xMuo10yA
你必须综合这些资源,以适应你的特定情况。 例如,您可能不希望手动创build与exoguru.com教程相同样式的选项卡。
那么对我来说,通过使用工具栏v7小部件appcompat处理不推荐的导航工具栏。
  setSupportActionBar(toolbar); getSupportActionBar().setSubtitle("Feed Detail"); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //goToWhere } });