2012-09-10 57 views
0
<item name="android:actionBarStyle"> @ style/ActionBar.Home </ item> 
<item name="actionBarStyle"> @ style/ActionBar.Home </ item> 

我的问题:前缀“android:”与前缀“android:”有什么区别?android xml有什么区别属性

<style name="Theme.Iosched" parent="Theme.Base"> 
    <item name="android:windowBackground">@android:color/white</item> 
    <item name="android:windowContentOverlay">@drawable/actionbar_shadow</item> 
    <item name="windowContentOverlay">@drawable/actionbar_shadow</item> 
    <item name="android:actionBarStyle">@style/ActionBar</item> 
    <item name="actionBarStyle">@style/ActionBar</item> 
    <item name="android:actionBarTabStyle">@style/ActionBar.TabView</item> 
    <item name="actionBarTabStyle">@style/ActionBar.TabView</item> 
    <item name="android:actionBarTabBarStyle">@style/ActionBar.TabBar</item> 
    <item name="actionBarTabBarStyle">@style/ActionBar.TabBar</item> 
    <item name="android:actionBarTabTextStyle">@style/ActionBar.TabText</item> 
    <item name="actionBarTabTextStyle">@style/ActionBar.TabText</item> 
</style> 
+0

这取决于XML文件*的含义*。至于XML语言本身而言,它是'name'属性的只是价值。它是你用来处理它的任何工具,赋予其意义。 –

回答

2

如果你看看你的.xml文件的顶部,它应该说:

xmlns:android="http://schemas.android.com/apk/res/android" 

它引用该命名空间的时候,所以它知道什么它看,当你说windowBackground的。

有一个相关的以前的答案在这里:What does "xmlns" in XML mean?

0

我想你使用的是一些支持库提供为其他动作蜂窝状前设备即ActionBarSherlock。

如果是这样,那么当他们说backgroundColor时,那么他们指的是他们自己的变量,如果他们将它作为前缀:他们试图访问系统值。由于这些值(常量)可能不会在要在其中添加动作条的设备可用。

如果检查这两条线路与IDE的帮助(按Ctrl即在Eclipse +点击),

<item name="android:actionBarStyle"> @ style/ActionBar.Home </ item> 
<item name="actionBarStyle"> @ style/ActionBar.Home </ item> 

双方的@样式值/ ActionBar.Home可能指向两个不同的位置。 其实这些librabries有时通过假设用户将不会需要修改它使事情最糟糕的。

一旦理解这个概念不过是简单的。 ActionBarSherlock在对ActionBar的本机支持不可用的设备中提供自己的配置(通过使用这些变量)。不过,只要绕过Android API提供的操作栏即可。

尽管我必须承认阅读和理解ActionBarSherlock有时是A $$$中真正的痛苦。

相关问题