我从 Framework-res 模块中的 styles.xml 文件复制此代码
<style name="Theme">
<item name="colorForeground">@android:color/bright_foreground_dark</item>
<item name="colorForegroundInverse">@android:color/bright_foreground_dark_inverse</item>
<item name="colorBackground">@android:color/background_dark</item>
.
<style name="Theme.Black">
<item name="android:windowBackground">@android:color/black</item>
<item name="android:colorBackground">@android:color/black</item>
</style>
如您所见,它们都有一个属性名称,其值为 windowBackground。但形式有一个android:
而后者则不然。真的有必要写一个android:
android框架中的前缀?
发现这是一个有趣的问题并尝试探索以找到答案..这就是我发现的..
from: http://developer.android.com/guide/topics/resources/style-resource.html http://developer.android.com/guide/topics/resources/style-resource.html
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="style_name"
parent="@[package:]style/style_to_inherit">
<item
name="[package:]style_property_name"
>style_value</item>
</style>
</resources>
item - 定义样式的单个属性。必须是元素的子元素。
属性:
姓名
属性资源。必需的。要定义的样式属性的名称,如有必要,带有包前缀(例如 android:textColor)。
from: http://developer.android.com/guide/topics/manifest/manifest-intro.html http://developer.android.com/guide/topics/manifest/manifest-intro.html
资源价值
某些属性具有可以向用户显示的值,例如活动的标签和图标。这些属性的值应该本地化,因此可以从资源或主题中设置。资源值用以下格式表示:
@[package:]type:name
其中,如果资源与应用程序位于同一包中,则可以省略包名称,type 是资源类型(例如“string”或“drawable”),name 是标识特定资源的名称。例如:
主题中的值以类似的方式表达,但以“?”开头而不是 '@':
?[package:]type:name
最后,我尝试在没有 android: 的情况下给出属性,它抛出了异常,尽管它编译成功。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)