我在index.xml中将一个onClick侦听器添加到ImageView中。 单击ImageView不会触发index.js中指定的函数,但是将onClick添加到包含的视图中。这几乎就像包含视图捕获点击并且不允许包含的ImageView接收它一样。但是,我有其中几个,其他似乎工作正常。
INDEX.XML:
<Alloy>
<Window class="container" onOpen="onWIndowLoad">
<View id="wholeView">
<!-- header -->
<View id="appTopMenuHolder">
<ImageView id="appMenuButton" image="/images/menu_icon.png" onClick="askWhy"></ImageView>
<View id="appTitle"></View>
<View id="newIcon"></View>
</View>
<View id="group"> <!-- removed onClick="testViewClick" -->
<ImageView id="porfilePic" image="/images/profile.png" onClick="askWhy"></ImageView> <!-- removed onClick="askWhy" -->
</View>
<!-- scrollable status section -->
<ScrollView id="statusViewHolder" scrollType="vertical">
</ScrollView>
</View>
</Window>
index.js:
function askWhy(e) {
alert("why");
}
任何帮助或推动正确的方向将不胜感激。 谢谢, -NP
答案 0 :(得分:3)
我确信您的问题来自您的样式(通常在.tss文件中)。在index.tss文件中尝试以下代码:
".container":{
backgroundColor: 'black'
}
"#appTopMenuHolder":{
top:0,
backgroundColor: 'red',
height: 100,
width: Ti.UI.FILL
}
"#appTitle":{
top:0,
backgroundColor: 'yellow',
height:20
}
"#newIcon":{
top:20,
backgroundColor: 'white',
height:20
}
"#group":{
top: 100,
backgroundColor: 'blue'
}
"#statusViewHolder":{
backgroundColor: 'green',
bottom: 50,
height: 100,
width: Ti.UI.FILL
}
您的问题可能是您没有为视图指定位置和维度值。当发生这种情况并且未设置布局属性时,钛将使视图居中并将尺寸设置为“自动”值。在这种情况下,“自动”值将填充其父级。
因此,您的观看次数newIcon
可能与观看次数重叠:appTitle
和appMenuButton
。 statusViewHolder
也可能发生同样的情况。它可能与wholeView
中的所有其他视图重叠。
这样说,您最好指定所有组件的位置和尺寸,以避免意外行为。