具有交替行样式的Titanium TableView

时间:2015-11-03 18:33:15

标签: titanium appcelerator

我正在动态创建一个TableView,我希望TableViewRow样式交替使用不同的布局,而不仅仅是简单的背景颜色。

无论哪个TableViewRow首先在我的XML中显示为空行。例如,保持JS不变,如果我将contentRowRight放在我的XML中的contentRowLeft之上,只有我的奇数行显示数据(左)。如果我在XML中交换视图顺序,那么只有偶数行显示数据(右)。

我认为我对controller.getView的理解是错误的,或者我的XML格式缺少了什么。

Javascript代码......

// Populate table with data
var toggleAlign = true;
data.forEach(function(item) {
    var newRow = Alloy.createController('contentRow', item).getView(toggleAlign ? 'contentRowLeft' : 'contentRowRight');
    $.tblContent.appendRow(newRow);
    toggleAlign = !toggleAlign;
});

XML代码......

<Alloy>
    <TableViewRow id="contentRowRight" class="content-row">
        <View class="thumbnail right">
            <ImageView id="imgThumbnail"></ImageView>
        </View>
        <View class="text-content content-left">
            <Label id="lblTitle"></Label>
            <Label id="lblDate"></Label>
        </View>
    </TableViewRow>

    <TableViewRow id="contentRowLeft" class="content-row">
        <View class="thumbnail left">
            <ImageView id="imgThumbnail"></ImageView>
        </View>
        <View class="text-content content-right">
            <Label id="lblTitle"></Label>
            <Label id="lblDate"></Label>
        </View>
    </TableViewRow>
</Alloy>

0 个答案:

没有答案