Android不同的按钮样式取决于API级别

avwztpqn  于 11个月前  发布在  Android
关注(0)|答案(2)|浏览(112)

我想用

style="?android:attr/borderlessButtonStyle"

字符串
对于我的按钮。这需要最低API级别11。我希望我的应用程序是最低API级别9。所以我使用默认布局文件夹中的样式标签,并使用与默认布局文件夹中相同的xml文件删除文件夹res/layout-v9和res/layout-v10-除了样式标签。我仍然得到布局文件夹中XML文件的最低API级别11错误。
我如何避免这个错误,并将样式标记应用于API level >= 11,而不应用于API level < 11?

qzlgjiam

qzlgjiam1#

borderlessButtonStyle是Holo主题的一部分,这就是为什么它在API级别11以下不可用。
不过,您可以通过将HoloEverywhere项目合并到您的应用中,在更早的API级别上使用该主题。
如果这不是你想做的,你需要在你的可绘制文件夹中创建一个自定义选择器,并将其用于按钮样式。

enxuqcxy

enxuqcxy2#

你看了这篇文章中的“提供替代资源”部分吗?:
http://developer.android.com/guide/topics/resources/providing-resources.html
基本上,您可以为特定的API级别添加一个后缀(在链接文章中称为“限定符”)“-v11”(因此您将拥有一个名为layout-v10layout-v9等的特殊文件夹,每个文件夹中都有所需的布局文件)。不过,我不确定是否有一种方法可以指定API级别的 * 范围 *(即小于11,大于11)。
顺便说一句:这就是提供不同大小的同名图标的实际情况:你会注意到在eclipse中创建的Android项目有drawable-ldpidrawable-mdpi等,以及“catch-all”drawable文件夹作为指定替代资源的方法。

相关问题