Android 为什么在使用操作栏的支持库API时,每个样式属性必须声明两次?

Android 为什么在使用操作栏的支持库API时,每个样式属性必须声明两次?,android,android-actionbar,android-theme,android-styles,android-actionbar-compat,Android,Android Actionbar,Android Theme,Android Styles,Android Actionbar Compat,我使用v7支持库是为了在API级别10+上有一个ActionBar。我想定制一下外观。所以我添加了一个应用程序主题。 但政府表示: 请注意:当覆盖ActionBar样式的属性时,必须两次指定每个属性:一次使用“android:”名称空间前缀,一次不使用 您声明的每个样式属性必须声明两次:一次使用平台的样式>属性(android:properties),一次使用Support>库中包含的样式属性(appcompat.R.attr属性这些属性的上下文实际上是您的应用程序) 为什么每个样式属性需要声明

我使用v7支持库是为了在API级别10+上有一个ActionBar。我想定制一下外观。所以我添加了一个应用程序主题。

但政府表示:

请注意:当覆盖ActionBar样式的属性时,必须两次指定每个属性:一次使用“android:”名称空间前缀,一次不使用

您声明的每个样式属性必须声明两次:一次使用平台的样式>属性(android:properties),一次使用Support>库中包含的样式属性(appcompat.R.attr属性这些属性的上下文实际上是您的应用程序)


为什么每个样式属性需要声明两次?或者“安卓:”前缀是如何工作的?

我想这是合理的,因为这个“安卓:”前缀意味着从系统获取属性,如果失败,系统可以通过另一个没有前缀的声明获取属性。
这是一个很好的方法,可以让你的应用程序既能赶上最新的android风格,又有很好的兼容性

我认为android本身也有一些问题,如果他们在开发者博客中告诉你,那么我想我们一定要解决它。android:我认为,前缀用来标识我们正在使用android本身的一些东西。但是你能告诉我你到底想做什么吗?加入这个jasonandorid前缀用于api级别11(从android框架中选取),高于另一个前缀用于api级别11以下@拉古南丹给出了正确的答案answer@Raghunandan如果没有android前缀,android系统如何从应用程序项目(而不是android框架)中进行选择?我不知道它是怎么工作的。