【问题标题】:android apply style based on versionandroid 根据版本应用样式
【发布时间】:2012-11-16 20:20:56
【问题描述】:

在 android 中,我可以应用基于版本的自定义样式:

+-res/values-v14/styles.xml
+-res/values/styles.xml

但是,如何应用基于版本定义的样式?

在 values/styles.xml 中:

<style name="spinner_textview">
    <item name="style">@android:style/Widget.Spinner></item>
</style>

以下行导致 eclipse 出错

<item name="style">@android:style/Widget.Spinner</item>

Eclipse 说:找不到与给定名称匹配的资源:attr '风格'。

有没有办法可以根据 api 版本应用样式?

PS:我正在尝试将@android:style/Widget.DeviceDefault.Spinner 应用于TextView,但该样式仅适用于api 14+;

【问题讨论】:

  • 如果你想使用 api 级别 14+ 样式,那么你应该将你的应用程序的 targetSdkVersion 定位到那个版本
  • 该行有错别字,请参阅 'Widget.Spinner' 后面的 >。
  • 错字已修复,问题仍然存在。 @Robert:我有目标 api 17

标签: android android-layout android-xml


【解决方案1】:

您正在尝试在样式声明中指定样式。

相反,您的样式应该具有“@android:style/Widget.Spinner”,因为它是继承其所有属性的父级。

<style name="spinner_textview" parent="@android:style/Widget.Spinner" >
 ...
</style>

这种相同的样式应该有不同的父版本,具体取决于版本(通过使用 values-XX 文件夹)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2011-06-06
    • 2023-03-14
    • 2019-01-17
    • 2021-11-01
    相关资源
    最近更新 更多