我开发了一个示例代码,在其中我创建了一个窗口小部件,其中只有一个视图,可以在其中添加图像视图。当我直接从控制器的tss应用样式时,它工作得很完美,但是当使用“formFactor”时,它不起作用。为了澄清相同的问题,请检查此处的代码。
您可以创建一个新的Alloy项目并使用以下代码对其进行测试:
注意:所有依赖项都包含在config.json
中
小工具实施:
widget.xml
<Alloy>
<View id="section" class="section"></View>
</Alloy>
widget.tss
".section":{
backgroundColor: 'red',
layout : 'vertical'
},
widget.js
var args = arguments[0] || {};
$.section.applyProperties(args);
$.setData = function(view) {
$.section.add(view);
}
索引页面编码
Index.xml
<Alloy>
<ScrollView class="baseView">
<Widget id="contentView" class="contentView" src="com.investis.scrollablesection"></Widget>
</ScrollView>
</Alloy>
Index.tss
".contentView [formFactor=handheld]":{
backgroundColor: 'green',
width: Ti.UI.FILL,
height: Ti.UI.SIZE
}
Index.js
var imgView = Ti.UI.createView({
backgroundColor: 'yellow',
top: 20,
left: 0,
right: 0,
width: Ti.UI.FILL,
height: Ti.UI.SIZE
});
$.contentView.setData(imgView);
如果我从[formFactor=handheld]
中的.contentView
移除Index.tss
答案 0 :(得分:0)
您的回答中遗漏了一些关键细节,例如您正在构建什么平台,您正在使用的Titanium SDK版本,以及您不清楚与您认为的问题相比您的期望。
使用你的代码,为iOS模拟器构建,我得到一个绿色的滚动视图填充屏幕的宽度,大约20dp高 - 在index.tss类上有或没有[formFactor = handheld]限定符。如果我增加scrollview的高度,我会看到一个黄色视图。那么,问题是什么?