钛合金小工具不工作

时间:2014-11-26 02:46:01

标签: titanium titanium-alloy

我拥有的小部件正在处理其他xml文件。除了一个... 这个过程是这样的......有一种观点,当点击时,会打开一个窗口..

<Alloy>
  <View class="vertical hsize">
    <View class="hsize">
      <Require src="actionbar" type="widget" />
    </View>
    <ScrollView class="container vertical whitebg">
      <View class="downloadRowContainer horizontal">
        <View class="downloadRow horizontal">
          <View id="itemDl" onClick="viewItem" class="downloadItem graybg" />
          <View class="divider" />
          <View class="downloadItem graybg" />
        </View>
      </View>
      <View class="downloadRowContainer horizontal">
        <View class="downloadRow horizontal">
          <View class="downloadItem graybg" />
          <View class="divider" />
          <View class="downloadItem graybg" />
        </View>
      </View>
    </ScrollView>
  </View>
</Alloy>

这是js:

function viewItem(e){
  var showItem = Alloy.createController('viewdl').getView().open();
}

它的工作原理是打开viewdl.xml但是widget不再单独在viewdl.xml上运行了。任何想法为什么? 这是viewdl.xml(viewdl.js是空白的):

<Alloy><Window class="vertical">
<View class="vertical hsize">
  <View class="hsize"><Require src="actionbar" type="widget"/></View>
    <ScrollView class="container vertical blackbg">
      <View class="imgContainer"></View>
        <View class="division"></View>
          <Label>DOWNLOAD THIS WALLPAPER</Label>
    </ScrollView>
</View></Window></Alloy>

1 个答案:

答案 0 :(得分:0)

让我详细说明一些我认为会产生问题的观点:

  • 用户界面的根目录是WindowTabGroupNavigationWindow / NavigationGroup:因此,这些元素负责在屏幕中打开和关闭内容/容器。
  • 您可以使用add方法将一些其他View或其子元素(Label,TableView等)添加到窗口中。
  • IMO应将小部件添加到主容器中。

一个简单的例子,假设我们想要2个窗口应用程序。

  • 第一个窗口有一个按钮,可打开第二个窗口。
  • 第二窗口有2个按钮
    1. 第一个按钮关闭当前窗口。
    2. 第二个按钮将其他视图(xml文件)加载到当前窗口。

index.xml

<Alloy>
  <Window id="first" layout="vertical" >
     <Require src="actionbar" type="widget" />
     <Button onClick="openWin2" title="Open" />
  </Window>
</Alloy>

index.js

function openWin2() {
  Alloy.createController('window2').getView().open({fullscreen:false});
}

window2.xml

<Alloy>
  <Window id="second" layout="vertical" >
     <Require src="actionbar" type="widget" />
     <Button onClick="closeWin" title="Close" />
     <Button onClick="loadData" title="Load Data" />
     <View id="dynamicView" height="100px" width="100px"></View>
  </Window>
</Alloy>

window2.js

function closeWin() {
  $.second.close();
}

function loadData() {
  $.dynamicView.add(Alloy.createController('dynamicData').getView());
}

<强> dynamicData.xml

<Alloy>
  <Label >Winter is coming !!</Label>
</Alloy>

希望它有用。