【问题标题】:How to Implement Android tab menu without deprecated tabhost如何在不弃用 tabhost 的情况下实现 Android 选项卡菜单
【发布时间】:2012-11-10 09:51:51
【问题描述】:

我的问题听起来很简单,但我似乎找不到足够的答案。

我正在尝试为平板电脑设计一个应用程序,该应用程序在屏幕的顶部四分之一处显示一些信息,然后在顶部四分之一下方显示一个选项卡式菜单。

基本上我正在寻找的是:

┌─────────────────────────────────────
│
│ Top of Page
│
├───────┬───────┬───────┬───────┬─────
│ Tab 1 │ Tab 2 │ Tab 3 │ Tab 4 │
│       └───────┴───────┴───────┴─────
│
│ Bottom of page
│
│
│
⁞

我最初打算使用带有多个标签的标签主机;但我意识到它现在已被弃用,因此我正在寻找最有效、最新的方法来为 Android 开发执行此操作。 已经实现的最简单的东西是操作栏,但它位于应用程序的顶部——这也不是我想要的。

我在另一个线程上读到应该使用 Fragments 来代替;但考虑到 tabhosts 的简单性,我不太明白片段如何替换它,因为据我所知,它没有内置的选项卡选项;仅列出。 (当然我可能是错的)

我发现的其他选项是 ActionbarSherlock,只使用更改布局的按钮。

我想总体而言,我要问的是,重现我在那里的设计的最佳、最新的向后兼容方式是什么?

编辑: 到目前为止,我从研究中发现的唯一一件事仍然是我使用兼容 API 的片段,或者只是使用按钮和 FrameLayout。 我真的对使用操作栏不感兴趣,因为它不会低于应该在顶部的布局。

还是继续使用 TabHost 真的很糟糕,即使它已被弃用?

【问题讨论】:

    标签: java android layout android-fragments android-tabhost


    【解决方案1】:

    CMIIW 但我认为 tabhost 还没有被弃用。即使它已被弃用,也不意味着你不能使用它,它只是意味着有更好的选择。如果您认为自己真的想要并且舒适地使用它,请选择 Tabhost。

    另一种方法,你可以看看这个: alternative of tabactivity 或者如果您想更好地理解使用 Tabhost how do i use tabhost 的话。

    替代方法包括: 使用带有选项卡式指示器的 ViewPager,例如 PagerTabStrip、ViewPagerIndicator 项目中的 TabPagerIndicator、PagerSlidingTabStrip 等。

    在操作栏中使用选项卡(注意:在某些设备尺寸和方向上,这些选项卡会转换为下拉列表)

    使用 FragmentTabHost

    在常规 Activity 中使用 TabHost 和 TabWidget

    以下示例项目演示:

    PagerTabStrip:https://github.com/commonsguy/cw-omnibus/tree/master/ViewPager/TabPager

    TabPageIndicator:https://github.com/commonsguy/cw-omnibus/tree/master/ViewPager/VPI

    操作栏标签:https://github.com/commonsguy/cw-omnibus/tree/master/ActionBar/TabFragmentDemo

    TabHost 和 TabWidget:https://github.com/commonsguy/cw-omnibus/tree/master/WidgetCatalog/Tab

    请注意,前三个示例都使用 ActionBarSherlock,因此它们在 Android 2.x 设备上运行。第四个应该可以在 Android 1.0 以后的任何设备上运行。

    【讨论】:

    • 示例项目中的前 3 个链接已失效
    【解决方案2】:

    你可以使用:

    Action Bar in android

    【讨论】:

    • 但我认为操作栏严格地跨越了屏幕的最顶部?它可以固定在我正在寻找的布局下方吗?
    • 不,它会在页面顶部
    • 好吧,我就是这么想的。在这种情况下,这不是我想要的,我试图让它出现在顶部下方。不过谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    相关资源
    最近更新 更多