【问题标题】:Android different button styles depending on API levelAndroid 不同的按钮样式取决于 API 级别
【发布时间】:2013-10-07 21:49:17
【问题描述】:

我想使用

style="?android:attr/borderlessButtonStyle"

我的按钮。这需要分钟。 API 级别 11。我希望我的应用程序最低 API 级别 9。所以我在默认布局文件夹中使用了样式标签,并使用与中相同的 xml 文件创建文件夹 res/layout-v9 和 res/layout-v10默认布局文件夹 - 除了样式标签。我仍然收到布局文件夹中 xml 文件的最低 API 级别 11 错误。

如何避免错误并为 API 级别 >= 11 应用样式标签,但不适用于 API 级别

【问题讨论】:

    标签: android api button styles


    【解决方案1】:

    borderlessButtonStyle 是 Holo 主题的一部分,这就是它在 API 级别 11 以下不可用的原因。

    但是,您可以通过将 HoloEverywhere 项目合并到您的应用程序中,在早期 API 级别上使用该主题。

    如果这不是您想要做的,您需要在您的可绘制文件夹中创建一个自定义选择器,并将其用于按钮样式。

    【讨论】:

      【解决方案2】:

      您是否看过本文中的“提供替代资源”部分?:

      http://developer.android.com/guide/topics/resources/providing-resources.html

      基本上,您为特定的 API 级别添加一个后缀(在链接的文章中称为“限定符”)“-v11”(因此您将拥有一个名为 layout-v10、layout-v9 等的特殊文件夹,每个文件夹都带有该文件夹中所需的布局文件)。不过,我不确定是否有办法指定 API 级别的范围(即小于 11 与大于 11)。

      顺便说一句:这就是提供具有相同名称的不同大小图标的实际情况:您会注意到在 Eclipse 中创建的 Android 项目具有 drawable-ldpi、drawable-mdpi 等,以及"catch-all' drawable 文件夹作为指定替代资源的一种方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-24
        • 1970-01-01
        相关资源
        最近更新 更多