Android 根据 API 级别不同的按钮样式

问题描述 投票:0回答:2

我想使用

style="?android:attr/borderlessButtonStyle"

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

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

android button
2个回答
1
投票

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

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

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


0
投票

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

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
文件夹作为指定替代资源的方法。

© www.soinside.com 2019 - 2024. All rights reserved.