无法设置嵌套的Alloy视图样式

时间:2013-03-30 19:41:35

标签: titanium titanium-mobile

我有一个视图,它是XML文档中的另一个视图。这是顶级视图,其中包含:

windowBase.xml:

<Alloy>
    <Window class="base">

        <Window class="content">

            <Label class="haveActivation" text="Have an activation code for this device?">

        </Window>
        <Require id="navigation1" class="navigation1" src="navigation" />

    </Window>
</Alloy>

以下是该视图的样式:

windowBase.tss:

".navigation1": {
    top: 692,
    left: 100,
    height: 265
}

".content": {
    backgroundColor: "white",
    height: 692,
    top: 0
}

".haveActivation": {
    bottom: 10
}

这是儿童导航视图:

navigation.xml:

<Alloy>
    <View class="nav" id="nav" onClick="nav_click">

        <Label class="tabExample" text="Tab here">

    </View>
</Alloy>

导航视图的样式:

navigation.tss:

"#nav": {
    zIndex: 9999,
    backgroundImage: "Navigation-Background.png",
    width: 1024,
    height: 265
}

".tabExample": {
    color: "white"
}

".container": {
    backgroundColor: "white"
}

您可以看到我将所需的视图(.navigation1)顶部样式设置为692.但是,当它显示时,它会在屏幕中间而不是在底部呈现视图。我能够让它在顶部渲染的唯一方法是:692是我将这种风格放在导航视图的#nav风格中,这似乎没有多大意义。 我做错了什么?

2 个答案:

答案 0 :(得分:0)

我不相信你可以把一个类放在一个Require上。

将.navigation1类合并到navigation.xml中的nav id样式并删除navigation1类。无论如何,你的逻辑有点多余,通过尝试从include中设置样式,你也可以使用包含文件本身的样式。

答案 1 :(得分:0)

以我的思维方式:

  1. 窗口不能在.xml文件中包含其他窗口 (js可以创建一个新窗口并打开它或在tabgroup中)
  2. 窗户不能含有合金 .xml文件(需要.xml文件,你应该删除合金标签)