【问题标题】:How to create a navigation drawer without support library如何在没有支持库的情况下创建导航抽屉
【发布时间】:2014-03-10 13:46:10
【问题描述】:

我正在开发一个仅支持 API 级别 > 14 的 Android 项目。因此,我们不使用 Android 支持库。

我想将 navigation drawer 与较新的 API 一起使用,但我找到的所有文档都是关于如何使用 support library 创建导航抽屉。

如何仅使用 API 级别 > 14 的 Android SDK 创建带有导航抽屉的 Activity?

【问题讨论】:

  • 罗宾、库夫斯、布格,谢谢大家。你很好,我可以将你的每一个答案都设置为好的答案。正如我必须选择的那样,我将设置 Kuffs 一个,因为他重新定义了我更喜欢的库的功能,而不是“没有问题可以包含它”或“不要太关注它的来源”到我的头脑。但是你所有的答案都很好!再次感谢!我会投票赞成你所有的答案!
  • 同意这不是微不足道的——文档太笼统了,他们提倡“使用作为最佳实践”,但是“重要的是要考虑您想要支持的功能并了解哪些功能每个库都支持 Android API 级别”,然后是“仅通过库 API 可用的功能”。他们可能很清楚:“支持库是 API 的一部分,您需要它们遵循我们的设计指南。'Nuff 说。”

标签: android navigation-drawer


【解决方案1】:

您只需使用支持库,因为它包含您需要的功能。您不想使用库中包含的其他功能并不重要。它确实包含您要使用的滑动菜单,因此请使用它。

另一种方法是编写自己的代码或使用不同的库。

尽量不要将支持库视为“仅用于向后兼容”。它提供标准 SDK 中未包含的功能(例如 ViewPagerSlidingDrawer

【讨论】:

  • 我也不想使用支持库,如何摆脱它,但在我的应用程序中有一个抽屉?
  • 这正是我上面回答的问题。
【解决方案2】:

从外观上看,唯一的 DrawerLayout 实现来自 SupportLib(即,此代码没有其他来源)。

另外,从外观上看,它是在 API 19 中引入的,所以无论如何你的 API 14 分钟都不够用。

归根结底,您应该只包含 SupportLibrary,然后继续您的生活,包含此库没有重大问题,尝试创建解决方法需要做更多的工作。

【讨论】:

    【解决方案3】:

    您可以从support library v4 source code 中提取它,也可以使用SlidingMenu 等第三方库

    曾经有一个替代/官方实现,称为 SlidingDrawer,但自 API 级别 17 起已弃用。

    这不难理解,有很多花哨的功能是官方SDK中没有的。随心所欲,不要太在意它来自哪里。

    【讨论】:

    • 你是说新的 API 提供的功能比旧的 + Support 片段少,并且没有任何标准的方法可以做到这一点而不提取/使用支持库或外部库?跨度>
    • 查看我编辑的答案。不要对代码的纯度过于敏感。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2016-02-29
    • 1970-01-01
    • 2014-12-14
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多