我目前正在对我的应用程序的基础上的全息主题设计。 在全球范围内是我想要做的是工作,但我有点困惑的是正在工作的文件夹的方式values
, values-v11
和values-v14
。
所以我知道:
-
values
的目标是在API次于11 -
values-v11
的目标是11和13之间的API -
values-v14
的目标是优于13的API
起初我还以为我必须指定每个文件夹所需的应用程序的所有样式,但后来我意识到一种继承制度已经到位。
我的问题是,我真的很困惑,如何工作的这3个文件夹之间的这种继承并不了解清楚。
我没有为了看我的手机上的行为,下列测试(在Android 4.0上运行,因此该文件夹values-v14
应在一个装):
在values
我有一个风格的蓝色文字颜色设置:
<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/Blue</item>
在values-v11
我有一个风格的白色文字颜色设置:
<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/White</item>
在values-v14
我有一个风格以红色文字颜色设置:
<style name="TextMedium" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/Red</item>
对于(用不同颜色的每个文件夹)上述第一种情况下,装上我的文字颜色是红色,这意味着values-v14
夹得到优先权。
然后,如果我从注释掉红色风格values-v14
夹,文本变成白色。 这是否意味着该系统将采取的风格在values-v11
,即使该设备是针对文件夹values-v14
夹? 我认为这将可能使用values
默认而不是文件夹values-v11
。
更一般地,我的问题是,这3个文件夹作为工作的父母和孩子? 意思是:
- 如果该设备上的API版本> 13运行时,系统将加载
values-v14
然后values-v11
和最后values
。 - 如果设备11和13之间的API运行时,系统将加载
values-v11
,然后values
。 - 如果该设备上的API版本<11运行时,系统将只加载
values
。
如果它确实是它的工作方式,是否有意义,然后设置最大的风格在父文件夹values
和V11或V14只添加特定的人?
很抱歉的长期问题,我希望它是明确的,这个主题/风格的系统仅在Android指南中简要介绍,这是很难找到它是如何工作的信息...
谢谢你的帮助!