【问题标题】:Android ActionBar backbutton and tabsAndroid ActionBar 后退按钮和选项卡
【发布时间】:2011-12-15 10:09:05
【问题描述】:

我想创建一个ActionBar 和一个类似于 google+ 应用的选项卡式导航。

我以这个示例为起点,现在我有了一个很棒的操作栏:

我还添加了一个ViewPager 和一个TabHost 来拥有标签和左右滚动的片段。

我需要的是在蜂窝之前的版本中显示后退箭头。 如果我设置getActionBar().setDisplayHomeAsUpEnabled(true),箭头会自动显示在版本>=蜂窝中。

  • 如何在蜂蜜之前的版本中做到这一点?

我还想拥有像 google+ 应用这样的标签。

这是我的标签栏的外观:

删除了无效的 ImageShack 链接

...这就是我想要的:

删除了无效的 ImageShack 链接

我找不到任何示例来设置这样的标签栏样式。

【问题讨论】:

  • 在操作栏中使用自定义视图

标签: android tabs android-actionbar tabwidget


【解决方案1】:

我会向您推荐ActionBarSherlock,因为 ActionBar 与 Android

使用此包,当您将以下行添加到活动时,将出现后退箭头。

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

关于 Google+ 标签,我发现小部件 ViewFlow 非常有用,并且看起来完全一样。此外,您没有任何向后兼容性问题。查看 CircleFlowIndicator 示例。

【讨论】:

  • 还有 ViewPagerIndicator 库可用于选项卡,由 ActionBarSherlock 的同一个人提供
【解决方案2】:

您可以使用ActionBarSherlockViewPagerViewPagerIndicator 来获得所需的外观。这些库也可以在 ICS 之前使用。

按照 miguel.rodelas 的建议,使用 getSupportActionBar().setDisplayHomeAsUpEnabled(true) 作为主箭头。在 onOptionsItemSelected 中,您可以通过 id android.R.id.home 捕获它。

【讨论】:

    【解决方案3】:
    ActionBar actionBar = getActionBar();
            actionBar.setDisplayShowHomeEnabled(false);
            actionBar.setDisplayShowTitleEnabled(false);
    

    //在此处使用您的自定义 xml 视图

    View actionBarView = getLayoutInflater().inflate(R.layout.action_bar_custom_view, null);
            actionBar.setCustomView(actionBarView);
            actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    

    //点击列表的逻辑

    setListenerForActionBarCustomView(actionBarView);
    

    【讨论】:

      【解决方案4】:

      如上所述,下载 ActionBarSherlock 并将其作为库导入这里 https://api.github.com/repos/JakeWharton/ActionBarSherlock/zipball/4.2.0

      • 不要使用 getActionBar,而是使用 getSupportActionBar
      • 下载支持库
      • 将您的类扩展为 SherlockActivity,而不是 Activity
      • 片段也一样,使用 SherlockFragment

      然后只需复制您的代码,应该可以完美运行。

      【讨论】:

        猜你喜欢
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-23
        • 2016-04-10
        • 1970-01-01
        • 2016-08-03
        • 1970-01-01
        相关资源
        最近更新 更多