我正在尝试使ICS(API级别15)应用程序与Gingerbread(API级别10)兼容,并且我正在为具有InflateException Error inflating class <Unknown>属性的任何布局XML获取?android:attr/。如果我注释掉了这些属性,则可以编译并运行该应用程序,但是它看起来确实很棒。

我不想复制我正在使用的android.R.attr中的所有项目,但此刻我迷失了另一种方法。

我正在使用ActionBarSherlock来使ActionBar正常工作,而且我似乎并没有使用任何其他需要支持库的内容(尽管我在试图弄清楚这一点的过程中已将其包括在内),但这只是这些主题-我坚持的基础资源。

我正在使用的一些主题资源是:
?android:attr/textColorSecondaryInverse?android:attr/textAppearanceLarge?android:attr/dividerVertical?android:attr/selectableItemBackground?android:attr/textAppearanceMedium?android:attr/dividerVertical?android:attr/dividerHorizontal

最佳答案

documentation中一样,某些样式也位于高级API中。例如:

自API 11以来

  • dividerVertical
  • 自API 11以来
  • dividerHorizontal
  • ?标记用于引用当前主题中的样式。

    要解决您的问题,您可以:
  • 使用API​​ 11中的样式,但将其放入values-v11文件夹,并使用自定义值或与旧API不同的属性来支持values中较旧版本的样式。
  • 从ICS复制必要的样式
  • 不要使用这些样式
  • 使用自定义样式


  • 这取决于您的目标。当 native 应用程序样式对您很重要时,第一个建议才有意义。
    如果您想在任何地方都拥有Holo风格,那么除了复制它并在所有平台上用作一种风格之外,别无他法。
    看一下这个项目:https://github.com/Prototik/HoloEverywhere

    07-24 09:45
    查看更多