Разработих примерен код, в който създадох уиджет, имащ само изглед, който добавя изглед на изображение вътре в него. Работи перфектно, когато прилагам стилове от tss на контролера директно, но когато се използва "formFactor", не работи. За да изясните същото, моля, проверете кода, поставен тук.
Можете да създадете нов Alloy Project и да тествате същия със следния код:
ЗАБЕЛЕЖКА: Всички зависимости са включени в 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