代码之家  ›  专栏  ›  技术社区  ›  Individumm

Android应用程序:如何判断我是否使用Support Lib

  •  1
  • Individumm  · 技术社区  · 11 年前

    我是Android开发的新手,我正在 http://developer.android.com 我不知道我是否使用支持库。
    要明确说明: 我不需要支持早于11的API。

    情况:向ActionBar添加项我必须使用自己的命名空间才能使其工作( app:showAsAction="ifRoom" 而不是 android:showAsAction="ifRoom" ),这是使用支持库的正常行为,对吗?

    第一个问题 :我为什么要使用它?我从来没有故意激活它!

    第二个问题: 我能同时使用这两种方法吗 getActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); 让“上”功能发挥作用?我以为如果我使用了支持库,第一个就不起作用了?

    如果你们中有人能帮助我,我会很高兴。我不想把这些基础知识弄得一团糟,所以我想知道我理解了什么或配置了什么。

    编辑:我在AndroidManifest中的“uses-sdk”实际上看起来像这样:

    <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" />
    
    1 回复  |  直到 11 年前
        1
  •  1
  •   mikejonesguy    11 年前

    要回答第一个问题,取决于您最初是如何创建项目的,它可能是自动为您启用的。还有很多其他事情 support library 除了ActionBar之外,所以即使minSdkVersion=11,使用它可能仍然是一个好主意。

    要回答第二个问题,是的,这两种方法都正常。启用支持库时,不会禁用或删除框架方法。只要你最终运行的Android操作系统支持它们,它们仍然可以工作。例如,如果你的minSdkVersion是10而不是11,并且你试图在运行Gingerbread的设备上运行该应用程序,它会在 getActionBar() 呼叫

    在您的情况下,您应该使用框架方法( 获取操作栏() ). 这个 documentation ActionBar表示:

    此类包含在支持库中,以与 API等级7及更高。如果您正在为API级别11开发应用程序 和更高 只有 ,您应该使用框架 ActionBar

    了解是否需要为给定的方法或类使用支持库的最佳方法是参考该类的文档,并注意“Added in API Level?”表示法。这是 documentation 不支持的库版本 操作栏 ,其中可以看到在API 11之后添加了一些方法。如果您需要这些方法中的任何一种,您应该使用支持库。

    此外,正如我之前所说,除了 操作栏 在应用程序中考虑。 GridLayout 是一个例子。它是在API 14中添加的,但为了向后兼容,它也存在于支持库中。如果您想使用 GridLayout ,您应该使用它的支持库版本。