我正在使用Titanium Studio和Titanium SDK。在这种情况下,我正在为Android开发,但我也在OSX上安装。
使用Alloy时,我可以指定
<Label class="header" id="someId">Week 50</Label>
然后像这样指定TSS文件中的颜色,字体等
".header": {
color: "blue"
}
但是当我使用SDK版本时:
var l = Ti.UI.createLabel({class:"header", text:"sometext"});
TSS文件的颜色没有被拿起???
我做错了什么。 “班级”不是有效的财产吗? (我似乎无法在文档中找到它。)
答案 0 :(得分:11)
合金样式自动应用于通过xml创建的视图。如果要在控制器内创建对象时保持该效果,则必须使用$.UI.create()方法而不是Titanium API。在您的情况下,您的代码将如下所示:
var l = $.UI.create('Label', {
title: "sometext",
classes: ["header"],
});
更多阅读Dynamic Styles guide。它没有很好的记录,当我阅读它时,它的某些部分对我来说还不清楚,但它是试验代码并学习Alloy行为的良好起点。
答案 1 :(得分:0)
在我寻找类似的东西时遇到了你的问题。遗憾的是,所选择的答案不是我想要的解决方案,因为我正在编写一个commonJS并且需要相同的这个。如果您正在编写commonJS(但仍在Alloy项目下),您可以使用以下解决方案:
var l = Alloy.UI.create("index", "Label", {
title: "sometext",
classes: ["header"],
});
"index"
是来自您app.tss
文件的Alloy生成的内容。