在xml

时间:2017-02-08 11:10:44

标签: android xml

我只是Android的初学者,正在研究如何创建样式和主题。 我在这里找到了这个xml:

Material Log In Demo

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

<style name="AppTheme.Dark" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>

    <item name="android:windowBackground">@color/primary</item>

    <item name="colorControlNormal">@color/iron</item>
    <item name="colorControlActivated">@color/white</item>
    <item name="colorControlHighlight">@color/white</item>
    <item name="android:textColorHint">@color/iron</item>

    <item name="colorButtonNormal">@color/primary_darker</item>
    <item name="android:colorButtonNormal">@color/primary_darker</item>
</style>

<style name="AppTheme.Dark.Dialog" parent="Theme.AppCompat.Dialog">
    <item name="colorAccent">@color/white</item>
    <item name="android:textColorPrimary">@color/iron</item>
    <item name="android:background">@color/primary</item>
</style>

我感到困惑的是为什么name指令的某些<item>属性对它们没有android命名空间,而有些则有?与colorButtonNormalandroid:colorButtonNormal一样。有人可以解释何时/为什么使用它们?

2 个答案:

答案 0 :(得分:0)

引用android doc并找到name属性为“Required”。 Android资源使用XML,这意味着他们需要使用XML Schema。如果他们使用任何名称空间=&gt;他们不希望与名称发生任何冲突。希望这可以帮助 以供参考: “Schema”是允许接受(或创建)具有标准化元素名称和层次结构的XML文档所需的。

答案 1 :(得分:0)

afaik,我们需要使用n = 6 y = zeros(1,n); x = [0.785398,0.392699,0.19635,0.098175]; for i = (1:4) for i = 0:n y(i+1) = (-1).^i*x.^(2*i+1)/factorial(2*i+1); end; SINx = sum(y) end 根据API级别覆盖特定样式的属性。例如,在android:propertyName的属性名称中,您可能需要使用:

value/styles.xml

但在<style name="AppTheme.Dark.Dialog" parent="Theme.AppCompat.Dialog"> ... <item name="android:background">@color/primary</item> </style> 你需要使用:

values-v14/styles.xml

此处<style name="AppTheme.Dark.Dialog" parent="Theme.AppCompat.Dialog"> ... <item name="background">@color/primary</item> </style> <item name="android:background">具有相同的含义。只是针对特定API级别的不同命名约定。

请注意,该示例仅用于演示目的。