【问题标题】:Swipe tabs below ActionBar with based on Fragments基于 Fragments 在 ActionBar 下方滑动标签
【发布时间】:2012-11-22 08:00:55
【问题描述】:

在我的应用程序中,我想在操作栏下方实现一些选项卡,这些选项卡应该是可滑动的(如 SongKick 应用程序)。我还在我的应用程序的其余部分使用片段,所以解决方案也应该基于片段。 我对这种 UI 模式有点困惑,因为我不知道应该使用哪些组件来实现它。关于兼容性,这个解决方案也可以基于Android兼容库吗? 有人可以推荐一些资源/教程吗?

提前致谢!

【问题讨论】:

标签: android tabs android-actionbar swipe


【解决方案1】:

您可以使用 ActionBar 选项卡(以及 ActionBarSherlock 选项卡以确保向后兼容性)并通过在 ViewPager 上使用 PageChangeListener 来实现滑动:

@Override
public void onCreate(Bundle savedInstanceState) {
    ...
    mViewPager.setOnPageChangeListener(
            new ViewPager.SimpleOnPageChangeListener() {
                @Override
                public void onPageSelected(int position) {
                    // When swiping between pages, select the
                    // corresponding tab.
                    getActionBar().setSelectedNavigationItem(position);
                }
            });
    ...
}

您可以阅读并从here 下载示例项目。

【讨论】:

  • 我真的需要 ActionBarSherlock 来确保向后兼容性吗?
  • 我会推荐。您可以使用本机 ActionBar,但您将不支持低于 11 的 API 级别。您也可以使用 Tabhost 执行此操作,但我不会使用它们,因为它们已被弃用。
  • Android 兼容库在这里帮不上忙?
  • 不,compat lib 可以替换原生的 Fragments 和 ViewPager,但不能替换 ActionBar,因为 Jake Wharton 的 ActionBar Sherlock 很好地替换了默认的 ActionBar。所以没有必要将它包含在 lib 中,因为大多数 Android 开发人员已经使用 ABS。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 2019-06-14
相关资源
最近更新 更多